2011-07-14 133 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