2011-03-24 105 views
0

行的PHP代碼我的PHP代碼在我的一些網頁我如何可以替換的preg_replace

<?php include("contactform.php"); ?> 

我有粗CMS在那裏我爲用戶管理的標籤交換的代碼行下面一行,我希望將這行代碼轉換爲[contact],以便人們可以在閒暇時添加或刪除它。這是多遠我有...

$file = preg_replace('#<?php include("contactform.php"); ?>#i', "[contact]", $file);

$文件看起來是這樣的......

<h1 class="title">Title</h1> 
<p>Text</p> 
<?php include("contactform.php"); ?> 

所以PHP代碼沒有被服務器剝離出來我們正在編輯該文件而不是查看它。


我很新的PHP,所以我想我真的很愚蠢,有沒有辦法做到這一點?

回答

3

如果你想要做1:1的字符串替換,然後用簡單的str_replace

$file = str_replace('<?php include("contactform.php"); ?>', "[contact]", $file); 

你需要逃跑元字符像?(加上了反斜線的preg_replace:

$file = preg_replace('#<\?php include\("contactform.php"\); \?>#i', "[contact]", $file); 

例如,如果要使其更具有適應性,則使用正則表達式只能提供任何優勢。在這種情況下,使用\s+而不是字面空格。

+0

這很出色,非常感謝 – osnoz 2011-03-24 12:09:31