2011-07-14 89 views
-1

可能重複:
Converting ereg expressions to pregeregi_replace()來的preg_replace()幫助

我已經試過這許多不同的方式和我甚至下載的正則表達式參考表來自addedbytes.com,但我只是不知道如何將這個eregi_replace()語句移到preg_replace()語句中。

我已閱讀並理解preg_replace()的分隔符要求,但我認爲問題在於修飾符。如何知道該功能使用哪個修飾符?我試過\ A,\ B和\ E,但似乎沒有任何工作。我認爲有些事情只是我錯過了。

$bodytag = '%%BODY%%'; 
$header = eregi_replace($bodytag . '.*', '', $temp); 
$footer = eregi_replace('.*' . $bodytag, '', $temp); 

我已經試過如下:

$header = preg_replace('/%%BODY%%.*/i', '', $temp); 
$footer = preg_replace('/.*%%BODY%%/i', '', $temp); 

但它似乎並沒有工作。我錯過了什麼?

編輯

最近,我試過這個沒有修復。

$bodytag = "%%BODY%%"; 
$header = preg_replace("/".$bodytag."(.*)/i", '', $temp); 
$footer = preg_replace("/(.*)".$bodytag."/i", '', $temp); 

回答

1

解決:

事實證明,這是解決方案:

$header = preg_replace("/".$bodytag."(.*)/is", '', $temp); 
$footer = preg_replace("/(.*)".$bodytag."/is", '', $temp); 

得到幫助和答案從其他網站的論壇。我錯過了「s」修飾符,我也不知道修飾符可以堆疊。

0

$ header = preg_replace('/ BODY(。*)/ i','',$ temp); $ footer = preg_replace('/(.*)BODY/i','',$ temp);

+0

對不起,但這不起作用,就像eregi_replace()執行該過程一樣。此外,我需要「%%」符號,因爲它將主題模板中的%% BODY %%字符串替換爲頁面主體的實際內容。此外,什麼是括號(爲什麼我需要它們)?我並不是要求別人給我答案,只是解釋我做錯了什麼。我厭倦了我日誌中的折舊消息。謝謝! – Hummdis