javascript将[]中的文本替换为超链接
javascript to replace a text within [] with hyperlink
Am正在编写一个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);
我尝试将'[[^']]+']
作为regexp,得到了正确的输出:
var s = 'Hello World [1234]<br>[322]<br>';
s = s.replace(/'[[^']]+']/ig, '<a href="http://www.mysite.com">Pradeep</a>');
// output
// Hello World <a href="http://www.mysite.com">Pradeep</a><br><a href="http://www.mysite.com">Pradeep</a><br>
相关文章:
- 用超链接替换URLS
- 将超链接添加到“;标题“;标记文本
- 文本建议的超链接
- 用Javascript按钮替换Javascript超链接
- 将 Javascript 数组中的文本转换为超链接
- 在JavaScript / jQuery中用活动超链接替换粘贴的链接
- 如何为应用深度链接创建超链接文本
- HTML5 中图像顶部的超链接文本
- 通过单击超链接切换文本
- 解码 URI 问题 - 超链接变为纯文本
- 替换超链接默认操作以加载 AJAX 请求
- 如何用JavaScript/jQuery替换和缩短一段文本中的超链接
- 替换超链接href中的匹配文本
- javascript将[]中的文本替换为超链接
- 将文本和超链接组合成字符串
- 根据超链接的文本更改超链接的类别
- 试图使用javascript将文本区域中的链接替换为超链接会导致数组错误
- 将文本和超链接图像添加到表格单元格
- 超链接替换文本
- JQuery删除超链接并替换为文本