2012-08-25 31 views
0

對於一個小型的模板引擎,我嘗試使用的preg_replace用正確的PHP相當於替代了preg_replace任何東西,包括點和斜線

{INCLUDE:dir/file.inc.php}

我已經使用以下嘗試,但「被零除」錯誤在一個包含路徑結果/:

$template = preg_replace('~\{INCLUDE:(.*?)}~', '<?php echo $1; ?>', $template);

(在preg_replace函數的回波是用於調試目的,將是一個包括最終)

當我刪除從包括路徑/(所以它只是file.inc.php),它仍然會刪除所有點。

任何幫助將不勝感激!

回答

0

如果我的理解是否正確,我認爲這應該只是罰款

$template = preg_replace('~{INCLUDE:(.*?)}~', '<?php include \'$1\'; ?>', $template); 

你的問題是由不帶引號的$ 1引起的。