我遇到了以下问题。
我需要先清理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>
答案 0 :(得分:1)
使其具体并且只匹配字母数字字符:
preg_replace("~\{(\w+)}~i", "", $sContent);
将避免{x: 'y'}
示例问题。
要使用preg排除文档部分,请使用preg_replace_callback
;列出不需要的(<script>.+?</script>)|...
作为第一个替代,然后在回调中列出switch-handle。