我有这个 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>"));
});
最佳答案
用括号捕获它并使用 $1 来引用“第一个”捕获组。
html.replace(/(plater)/ig, "<span class='plater'>$1</span>")
多种语言的正则表达式指南:http://www.regular-expressions.info/javascript.html
关于JavaScript 正则表达式替换 $0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14205538/