[英]HTML: How to make URLs inside of text clickable?
我無法手動編碼<a>... </a>
因為輸入是未知字符串。
我想出了這個:
HTML格式服務:
makeLinksClickable(inp: string): string {
const regex = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/ig
return inp.replace(regex, '<a href="$1" target="_blank">$1</a>');
}
HTML:
<div>
{{myObject ? this.myService.makeLinksClickable(myObject.text) : ""}}
</div>
替換有效,但<a>... </a>
無法使用此方法點擊! 這是因為<a>
不被視為 HTML 元素,而只是被視為文本。 所以用戶看到了<a>
和</a>
並且不能點擊鏈接。
我怎樣才能解決這個問題?
把事情簡單化?
<div [innerHTML]="myObject ? this.myService.makeLinksClickable(myObject.text) : ''">
</div>
嘗試設置相關元素的 innerHtml:
document.getElementById("myDiv").innerHTML=makeLinksClickable(myUrl);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.