无法将目标属性添加到锚点

时间:2019-06-02 13:27:55

标签: javascript regex

我正在尝试将文本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>

1 个答案:

答案 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(并在'周围使用了" )。