gpt4 book ai didi

javascript 用超链接替换 ​​[] 中的文本

转载 作者:行者123 更新时间:2023-11-28 21:06:40 38 4
gpt4 key购买 nike

我正在编写一个 javascript 来将 [] 中的文本替换为 html 链接。但我坚持生成一个正则表达式来匹配 [] 中的任何字符串,然后将其替换为超链接。

下面是我尝试过的代码片段:

<html>
<head>
</head>
<body id="body">

Hello World [1234]<br>
[322]<br>
Hello
</body>
</html>


<script type="text/javascript">
var bodyText=document.getElementById('body').innerHTML;
var pattern = "\[(.*?)\]";
var replaceText = "<a href="www.mysite.com">Pradeep</a>";
document.getElementById('body').innerHTML = bodyText.replace(pattern/gi, replaceText);
</script>

任何人都可以建议我最好的方法吗

谢谢

最佳答案

如果您有一个表示正则表达式的字符串,则必须调用 new RegExp(str) 来从中构建正则表达式,但您可以在此处创建正则表达式文字。此外,i 标志不是必需的,因为正则表达式中没有任何内容涉及字母。而且,您不使用捕获组,因此您也可以消除它们。最后,您需要转义字符串中的引号,因为解释器现在认为您的字符串在 href=:

之后结束
var bodyText = document.getElementById('body').innerHTML;
var pattern = /\[.*?\]/g;
var replaceText = "<a href=\"www.mysite.com\">Pradeep</a>";
document.getElementById('body').innerHTML = bodyText.replace(pattern, replaceText);

关于javascript 用超链接替换 ​​[] 中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9685369/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com