我正在尝试将文本URL转换为可单击的html链接,一切正常,但是我无法添加attribute(target)。我没有任何错误。
这是代码:
let text= 'https://www.google.com';
let exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
let text1=text.replace(exp, "<a href='$1'>$1</a>");
let exp2 =/(^|[^\/])(www\.[\S]+(\b|$))/gim;
let message = text1.replace(exp2, '$1<a target="_blank" href="http://$2">$2</a>');
输出:<a href="https://www.google.com">https://www.google.com</a>
答案 0 :(得分:2)
不需要两次通过。只需在初始替换中包含目标即可:
void displayInorder (treeNode *root){
if(root) {
displayInorder(root->left);
printf("%c", root->key);
displayInorder(root->right);
}
由于您似乎想在let text= 'https://www.google.com';
let exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
let text1=text.replace(exp, '<a target="_blank" href="$1">$1</a>');
// -------------------------^---^^^^^^^^^^^^^^^------^--^-------^
console.log(text1);
周围加上双引号(没有必要),因此我将替换字符串周围的引号更改为_blank
(并在'
周围使用了"
)。