我有这个jQuery,我想搜索一个字符串并替换它。我知道用php我可以使用$0, $1, $2
等来获得匹配。
这是我通过php $0
执行此操作的方法,在此示例中将替换为找到的plater
并保留其上/下框:
preg_replace("/plater/i", "<span class='plater'>$0</span>", $input);
我怎样才能在javascript中执行此操作?当我尝试$ 0时,它实际上向浏览器输出$ 0,而不是找到了什么。这是我现在拥有的:
$(document).ready(function(){
var html = $("body").html();
$("body").html(html.replace(/plater/ig, "<span class='plater'>$0</span>"));
});
答案 0 :(得分:3)
用括号捕获它并使用$ 1来引用“第一个”捕获组。
html.replace(/(plater)/ig, "<span class='plater'>$1</span>")
多种语言的正则表达式指南:http://www.regular-expressions.info/javascript.html
答案 1 :(得分:2)
由于您只是在搜索“plater”,因此您可以省去麻烦,只需在字符串中写下plater
,但$&
可用于引用整个匹配。
答案 2 :(得分:2)
替换字符串:
html.replace(/(plater)/ig, '<span class="plater">$1</span>');
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/replace