diff --git a/front/src/WebRtc/DiscussionManager.ts b/front/src/WebRtc/DiscussionManager.ts index 4282603b..b98f4fd4 100644 --- a/front/src/WebRtc/DiscussionManager.ts +++ b/front/src/WebRtc/DiscussionManager.ts @@ -151,13 +151,20 @@ export class DiscussionManager { this.nbpParticipants.innerText = `PARTICIPANTS (${nb})`; } - private urlify(text: string) { + private escapeHtml(html: string): string { + const textReturn : HTMLSpanElement = document.createElement('span'); + const text = document.createTextNode(html); + textReturn.innerText = text; + const p = document.createElement('p'); + p.appendChild(text); + return p.innerHTML; + } + private urlify(text: string) : string { const urlRegex = /(https?:\/\/[^\s]+)/g; + text = this.escapeHtml(text); return text.replace(urlRegex, (url: string) => { - return '' + url + ''; - }) - // or alternatively - // return text.replace(urlRegex, '$1') + return '' + url + ''; + }); } public addMessage(name: string, message: string, isMe: boolean = false) { @@ -231,4 +238,4 @@ export class DiscussionManager { } } -export const discussionManager = new DiscussionManager(); \ No newline at end of file +export const discussionManager = new DiscussionManager();