我創建了一個模板系統來替換所有以'%%'開頭和結尾的變量。問題是,預浸更換有時代替超過它應該,這裏有一個例子:preg_replace是否可以替換兩個符號之間的所有內容?
<?php
$str = "100% text %everythingheregone% after text";
$repl = "test";
$patt = "/\%([^\]]+)\%/";
$res = preg_replace($patt, "", $str);
echo $res;
?>
這個輸出「100文本之後」,它應該輸出「100%文本文本之後」。有沒有解決這個問題的方法?這非常糟糕,因爲如果文檔中存在CSS規則,則會使用百分號,並最終替換所有文檔。
太好了!你注意到關於單詞字符的觀點是不可思議的。我想了一會兒,然後認定情況可能並非如此。 – Unihedron 2014-09-21 15:57:28