当不同的链接包含相同的单词时,将单词替换为链接
Replace words with links when different links contain the same word
我四处寻找答案,但我找不到任何适合我想要达到的目标的东西。
我有一个页面的URL写在一个前置标签,我使用以下命令自动替换任何URL与相应的可点击链接:
(function($) {
$(window).load(function() {
var tpage = $("pre");
tpage.html(tpage.html().replace(/box.php/ig, '<a target="_blank" href="/box.php">box.php</a>'));
tpage.html(tpage.html().replace(/sms.php/ig, '<a target="_blank" href="/sms.php">sms.php</a>'));
});
})(jQuery)
这工作得很好。但是,我有两个页面分别是cards.php和gcards.php。对cards.php使用上面的代码也会匹配'gcards.php'中的'cards.php',因此,不会建立gcards.php链接。如果我把gcards放在card1之前,就会打乱gcards的链接。
我四处看了看,发现了这个,但我似乎根本无法让代码工作。
是否有任何方法可以使代码仅替换'cards.php',而将'gcards.php'单独用于另一行代码?
谢谢你。
我发现词边界伪字符'b
是最有用的。例如:
/'bcards'.php'b/ig
这将包括空格,字符串的结束/开始,标点符号等。
:
你也可以用变量让代码干一点,像这样:
(function($) {
$(window).load(function() {
var tpage = $("pre");
tpage.html(tpage.html().replace(
/'b(box|sms|cards)'.php'b/ig,
'<a target="_blank" href="/$&">$&</a>'));
});
})(jQuery)
最好的解决方案是知道card.php, box.php等之前应该是什么…所以您可以将它添加到正则表达式中:例如引号?
但是,这个正则表达式应该完成这项工作:
[^a-zA-Z]card'.php
例如,如果在页面名称之前有一个引号,它会变得更简单:
... .replace(/"card'.php/ig, ...)
在您的其他正则表达式中有一个错误,因为点没有转义。因此,字符串"boxzphp"或"setmphp"将匹配。固定代码:
tpage.html(tpage.html().replace(/box'.php/ig, '<a target="_blank" href="/box.php">box.php</a>'));
tpage.html(tpage.html().replace(/sms'.php/ig, '<a target="_blank" href="/sms.php">sms.php</a>'));
我不知道是否有一个好的正则表达式方法,但如果你不能保证在你的匹配之前的字符,那么作弊将首先用占位符替换gcards
,然后替换cards
,然后替换占位符:
var result = input.replace(/gcards.php/ig, "MYPLACEHOLDER")
.replace(/cards.php/ig, "<a href='cards.php'...")
.replace(/MYPLACEHOLDER/g, "<a href='gcards.php'...");
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 如何使用jQuery自动打开页面上的所有链接
- 使用JavaScript添加单词样式,但避免链接
- 如何根据链接中包含的字母/单词查找并单击链接
- JQuery在链接的静态页面中搜索,突出显示找到的单词,而不破坏列表
- 在单词的顺序中:“Word1,Word2,Word3”:如何在“Word1”和“Word3”上拥有1个和只有1个超链接?
- 找到包含单词的特定链接并添加到数组中
- Jquery 将单词更改为类型链接
- 将列表中每个单词的第一个出现替换为链接
- 为逗号分隔的单词生成搜索链接
- JS:用另一个单词替换链接.嵌套引号+转义码
- 如何通过JS或PHP在文本中添加特定单词的链接
- Extjs在单个单词上显示链接
- 如何删除链接中单词之间的空格
- 如何使链接工作,只有当在文本字段中键入正确的单词时
- 如何通过链接证明页面中的单词(句子)
- 我如何从文本中取出一个单词并使其成为链接?
- 为句子中空间分离的单词创建单个链接
- 当不同的链接包含相同的单词时,将单词替换为链接
- Javascript regex用链接替换一些单词,但不在现有的链接中