这是我的字符串
var text = "Lorem ipsum dolor *https://www.google.com/* amet, *https://www.google.com/*";
我想创建这样的新的
var newText = "Lorem ipsum dolor <a href="https://www.google.com/">https://www.google.com/</a> amet, <a href="https://www.google.com/">https://www.google.com/</a>";
我的脚本不起作用。我做错了什么?
var newText = text.replace("*", "<a href=></a>");
您正在用<a href=></a>
替换星号的第一个出现
var text = "Lorem ipsum dolor *https://www.google.com/* amet, *https://www.google.com/*";
var newText = text.replace("*", "<a href=></a>");
console.log(newText);
要全部替换它们,您可以使用捕获组(将在$1
中)然后使用replace:
说明
\*
(.*?)
\*
var text = "Lorem ipsum dolor *https://www.google.com/* amet, *https://www.google.com/*";
var newText = text.replace(/\*(.*?)\*/g, "<a href=\"$1\">$1</a>");
console.log(newText)
您可以尝试以下代码:
var text = "Lorem ipsum dolor *https://www.google.com/* amet, *https://www.google.com/*";
var arrtext=text.split('*');
var newtext='';
for(var i=0;i<arrtext.length;i++){
if(arrtext[i].startsWith("http")){
var link='<a href="'+arrtext[i]+'">'+arrtext[i]+'</a>';
newtext=newtext+link;
}else{
newtext=newtext+arrtext[i];
}
}