我不确定这个问题,但我的解释是你想替换A元素中href属性的值。
此正则表达式将找到具有 href 属性的 A 元素。该值将在第一个捕获组中。
(?:<a[^>]*?href\s*=\s*")([^"]*)(?:")
这是一个捕获匹配的所有三个部分并使用替换功能的版本
myHtml.replace(/(<a[^>]*?href\s*=\s*")([^"]*)(")/gi, function(match, $1, $2, $3) {
return $1 + "javascript.void(functionName('" + $2 + "'))" + $3;
});
如果 myHtml 包含类似以下内容:
<a target="new" title="test" href="http://url.com">
它会被转换成这样:
<a target="new" title="test" href="javascript.void(functionName('http://url.com'))">
您还提到了可点击。
myHtml.replace(/(<a[^>]*?)(href\s*=\s*"([^"]*)")/gi, function(match, $1, $2, $3) {
return $1 + "onclick=\"functionName('" + $3 + "')\"";
});
结果是:
<a target="new" onclick="functionName('http://url.com')">
顺便说一句,我用自己的正则表达式工具对此进行了测试: http ://rey.gimenez.biz