javascript - 使用正则表达式转义某些 html 元素内的引号?

标签 javascript regex

我倾向于使用 image solution described by 24Ways使用ajax和脚本。

但是,ajax 结果超出了我的控制范围,我需要一个正则表达式来转义引号(' 和 "),因为脚本将容纳在 onload 属性中。

这是我迄今为止的工作:

clean_txt = clean_txt.replace(
    /<script[^>]*>([\n\s\S]+?)<\/script>/img, 
    "<img src='1px.gif?d=$1' alt='' onload='new Function(\"$1\")();' />"
);

有人有最终的正则表达式,例如转义 $1 中的引号吗?

最佳答案

用正则表达式解析 html 会摧毁你的灵魂。

我真的建议使用更简单的东西,例如:

clean_txt.replace("'","\\'").replace('"', '\\"');

当然,这会将每个 ' 替换为 \',将 " 替换为 \"。如果您不希望这样,请阅读有关 XML parsing in Javascript 的更多信息。 .

关于javascript - 使用正则表达式转义某些 html 元素内的引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4428979/

相关文章:

javascript - 在选择选项中更改颜色 - HTML/CSS/JQuery - Mac

javascript - 如何去掉html开头和结尾的&nbsp?

javascript - 如何使用路由但不更改 URL?

javascript - 从文本字符串中获取变量 [jQuery]

javascript - 如何更新由EntityAdapter redux组成的嵌套对象?

php - 在 PHP 上使用正则表达式获取 HTML 页面 &lt;input&gt; 值和名称

python - 以任意顺序查找符号条目

javascript - 正则表达式,如果捕获组匹配字符串

python - Python 脚本中的 IPv4 地址替换

regex - AWK 在正则表达式中使用字段值