大家好,我正在嘗試檢測字串是否包含 url,如果是,則使用錨標記將其包裝并使其可點擊。但我所顯示的字串和錨標記。
我的代碼
function urlify(text) {
var urlRegex = /(https?:\/\/[^\s] )/g;
return text.replace(urlRegex, function(url) {
var hyperlink = url;
if(!hyperlink.match('^https?:\/\/')){
hyperlink = 'http://' hyperlink;
}
return '<a className="blue" href="' url '" rel="noopener" noreferrer>' url '</a>'
})
// or alternatively
}
在我的 html 代碼中
<p>{urlify(text)}</p>
輸出
first remove anchors before return text.replace – Muneeb Mirza <a className="blue" href="https://onlyfans.com/my/notifications">https://onlyfans.com/my/notifications</a>
我不想顯示帶有錨標簽的鏈接,而是將其顯示為不帶標簽的可點擊鏈接。
uj5u.com熱心網友回復:
假設urlify函式按預期作業,結果應被視為 HTML 字串。用于dangerouslySetInnerHTML設定p標簽的內部文本。
例子:
<p dangerouslySetInnerHTML={{ __html: urlify(text) }} />
顧名思義,這可能是一個危險的功能,但如果您可以完全控制內容并計算生成的 HTML 標記,那么它可能非常安全。
如果您對內容有任何疑慮,那么我建議您在處理它以創建鏈接之前也使用DOMPurify來幫助清理值。text
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/425525.html
標籤:javascript html 反应 反应钩子
