请问一个preg_replace的奇怪有关问题
时间:2021-07-01 10:21:17
帮助过:15人阅读
请教一个preg_replace的奇怪问题。
我需要在一个html文档中将 < br />这样的标签,替换成
,用的语句是这样的:
$demo = "abc
def" ;
$demo = preg_replace('< *br */ *>', '
', $demo);
最后demo结果为 "abc <
> def"
怎么多出一对尖括号了呢?
但是同样的方法,使用ereg_replace就正常了:
$demo = "abc
def" ;
$demo = ereg_replace('< *br */ *>', '
', $demo);
demo输出:"abc
def"
听说php以后会淘汰掉ereg_replace,但是我这个功能preg_replace老是莫名其妙在外边多出一对尖括号,我好郁闷呀!
为什么呀?
------解决方案--------------------
$demo = preg_replace('#< *br */ *>#', '
', $demo);
你的 '< *br */ *>', '
' 是将<>作为定界符用的