的Javascript替换字符串

问题描述:

我想使用JavaScript的Javascript替换字符串

我尝试这一个改变这种

[s=http://*.com/questions/ask?title=Javascript%20replace%20a%20string]Text[/s] 

这个

<a href="http://*.com/questions/ask?title=Javascript%20replace%20a%20string">Text</a> 

<script> 
var str = "[s=/site_menu.xhtml?get-d=4%2027&get-id=315&get-title=DanMachi%20Season%202&get-main=DanMachi]DanMachi Season 2[/s]"; 
var res = str.replace("[s=", '&lt;a href="'); 
var ser = res.replace("[/s]", "&lt;/a&gt;"); 
var serr = ser.replace("]", ':admin-hash-amp:"&gt;'); 
document.write(serr); 
</script> 

你可能要考虑简单地创建,将封装所有这一切为你的功能,特别是如果你计划内的应用程序的多个领域使用:

function toHyperLink(input){ 
    return input.replace('[s=','<a href="') 
       .replace(']','">') 
       .replace('[/s]','</a>'); 
} 

var input = '[s=http://*.com/questions/ask?title=Javascript%20replace%20a%20string]Text[/s]'; 
 
console.log(`Input: ${input}`); 
 
console.log(`Output: ${convertToHyperlink(input)}`); 
 

 
function convertToHyperlink(input) { 
 
    return input.replace('[s=', '<a href="').replace(']', '">').replace('[/s]', '</a>'); 
 
}

在你做转换之后,你应该创建一个元素,而不是写出来。

var str = "[s=http://*.com/questions/ask?title=Javascript%20replace%20a%20string]Text[/s]"; 
var res = str.replace("[s=", '&lt;a href="'); 
var ser = res.replace("[/s]", "&lt;/a&gt;"); 
var serr = ser.replace("]", '"&gt;');  

var text = serr.slice(serr.indexOf("&gt;") + 4, serr.indexOf("&lt;/a&gt")) 
var href = serr.slice(serr.indexOf("href=\"") + 6, serr.indexOf("\"&gt")) 

var link = document.createElement("a"); 
link.text = text; 
link.href = href; 

document.getElementById("myDIV").appendChild(link); 

试试这个

var str = "[s=http://*.com/questions/ask?title=Javascript%20replace%20a%20string]Text[/s]"; 
var r = str.replace(/\[s=(.*?)\](.*?)(\[\/s\])/gi,"<a href='$1'>$2</a>"); 
document.write(r); 

我猜你也可以不喜欢;

var str = "[s=http://*.com/questions/ask?title=Javascript%20replace%20a%20string]Text[/s]", 
 
    res = str.replace(/\[s(.+)\](.+)\[\/s\]/, "<a href$1>$2</a>"); 
 
console.log(res);

+0

我想text改变这一点点text 请帮助 –