【发布时间】:2011-12-01 19:29:10
【问题描述】:
我遇到了以下问题。
在将 HTML 渲染到浏览器之前,我需要对其进行清理。
目前的正则表达式匹配像“{varname}”这样的东西到目前为止没有问题,但是我需要排除在脚本标签中找到的匹配项。
*例子有点不清楚,所以更新了* 示例:
<html>
<head></head>
<body>
this is an example `{var}` variable, <- this should be matched/removed
<script>
// don't match below arguments in other words don't let regex remove them/match them
myMethod("{param1:'foo', param2:'bar'}");
</script>
</body>
</html>
【问题讨论】:
-
我不确定你在这里问什么,但听起来你正在用正则表达式解析 HTML。 Don't do that。使用 HTML 解析器。
-
你想做什么?我在这里有点困惑。
-
嗨 Macek,我没有用正则表达式解析 html,我正在清理.. 供您参考,数据由 CodeIgniter 的解析器设置,(CI 使用 {} 作为参数/变量)但是我不希望在浏览器的输出中出现 {} (当未定义 vars 时会发生这种情况)。所以这就是我想清理的原因,但是我想把括号保留在 javascript 中。
-
治疗根本原因(未定义的变量)而不是症状不是更好吗?
-
您当前的代码是什么?只是一个猜测:让它更具体已经可以避免与空格、冒号、引号匹配的内容。
标签: php regex preg-match