PREG_REPLACE:未知修饰符 [英] preg_replace: unknown modifier

查看:19
本文介绍了PREG_REPLACE:未知修饰符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设$BODY等于

something 
that 
does 
not 
interest 
me 
<!-- start -->
some
html
code
<!-- end -->
something
that
does
not
interest
me

如果我使用

$body=preg_replace("(.*)<!-- start -->(.*)<!-- end -->(.*)","$2",$body);

我获得:

警告:preg_place()[function.preg-place]:未知修饰符‘<;’

如何更正?

推荐答案

模式需要一对分隔模式本身的字符。在这里,您的模式包含在第一对括号中,其他所有内容都在外面。

试试这个:

$body=preg_replace("/(.*)<!-- start -->(.*)<!-- end -->(.*)/","$2",$body);

这只是语法问题,不能保证模式本身看起来可疑。

假设您的示例中的文本:

preg_match('#<!-- start -->(.*?)<!-- end -->#s', $text, $match);
$inner_text = trim($match[1]);

这篇关于PREG_REPLACE:未知修饰符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆