的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=", '<a href="');
var ser = res.replace("[/s]", "</a>");
var serr = ser.replace("]", ':admin-hash-amp:">');
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=", '<a href="');
var ser = res.replace("[/s]", "</a>");
var serr = ser.replace("]", '">');
var text = serr.slice(serr.indexOf(">") + 4, serr.indexOf("</a>"))
var href = serr.slice(serr.indexOf("href=\"") + 6, serr.indexOf("\">"))
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);
我想text改变这一点点text 请帮助 –