def"怎么多出一对尖括号了呢?但是同样的方法,使用ere">
输入banner图图片脚本导航/分类

请问一个preg_replace的奇怪有关问题

请教一个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 */ *>', '

' 是将<>作为定界符用的