需求:识别字符串中的URL链接,不包括图片地址,并给URL链接加上a标签
function handleStr () {
// backStr 需要处理得字符串
var pattern = /(https?:\/\/[^\s]+)/g; // 识别所有http的链接 包括图片四肢
let urlArr = backStr.match(pattern); //拿到所有http链接的集合数组
let reg = /(https?:[^:<>"]*\/)([^:<>"]*)(\.((png!thumbnail)|(png)|(jpg)|(webp)))/; //仅识别图片的地址
for (let j = 0; j < urlArr.length; j++) {
if (!reg.test(urlArr[j])) {
//在这里把图片的地址区分出来
// 给筛选出来的不是图片地址的链接加上a标签
backStr = backStr.replace(
urlArr[j],
"<a href=" + urlArr[j] + " class='a-link'>" + urlArr[j] + "</a>"
);
}
}
return linefeed(backStr);
}
没有找到可以直接区分处不是图片地址的正则表达式
有知道的小伙伴可以评论去指教一下
END 祝你有个心平气和不怼测试不骂产品的一天 哈哈哈