当我单击它时,标记中的URL会串联在网站URL中

问题描述

我在API响应的stringHTML中获得了定位标记,并使用https://github.com/GleamTech/FileUltimate对其进行了解析 工作正常。问题是,当我单击定位标记URL时确实在网站URL中追加了URL,这使它成为错误的URL。您可以在下图中看到。

react-html-parser

所以我的问题是我该怎么做才能避免这种行为?如果URL包含https://www.facebook.com,那么它可以正常工作,但是如果包含www.facebook.com,则它可以附加在网站URL中。

实时代码

enter image description here

只需选择任何插槽,您将重定向到下一个屏幕,您将在表格底部看到说明。

API中的StringHtml标记

description: "<p><a href="www.facebook.com" rel="noopener noreferrer" 

我要解析的代码

 <span class="text-muted">
    {ReactHtmlParser(eventDescription)}
 </span>

解决方法

类似Detect URLs in text with JavaScript

function urlify(text) {
    var urlRegex = /(((https?:\/\/)|(www\.))[^\s]+)/g;
    return text.replace(urlRegex,function(url,b,c) {
        return url2 = (c == 'www.') ?  'https://' +url : url;
    }) 
}

console.log(urlify(`description: "<p><a href="www.facebook.com" rel="noopener noreferrer"`))

,或者仅在出现链接且链接href不是以https?\:\/\/开头时给出错误消息