【发布时间】:2014-09-21 23:34:28
【问题描述】:
我创建了一个模板系统,它替换了所有以“%%”开头和结尾的变量。问题是 preg replace 有时会替换更多,这是一个示例:
<?php
$str = "100% text %everythingheregone% after text";
$repl = "test";
$patt = "/\%([^\]]+)\%/";
$res = preg_replace($patt, "", $str);
echo $res;
?>
这会输出“文本后 100”,它应该输出“文本后 100% 文本”。有什么解决办法吗?这真的很糟糕,因为如果文档中有 CSS 规则,则使用百分号并最终替换所有文档。
【问题讨论】:
标签: php regex preg-replace