我尝试了很多不同的方法,我甚至从addsbytes.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);
答案 0 :(得分:1)
解决:
原来这是解决方案:
$header = preg_replace("/".$bodytag."(.*)/is", '', $temp);
$footer = preg_replace("/(.*)".$bodytag."/is", '', $temp);
从其他网站的论坛获得帮助和答案。我错过了“s”修饰符,我也不知道修饰符可以堆叠。
答案 1 :(得分:0)
$ header = preg_replace('/ BODY(。*)/ i','',$ temp); $ footer = preg_replace('/(。*)BODY / i','',$ temp);