首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

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

2012-05-03 
请教一个preg_replace的奇怪问题。我需要在一个html文档中将 br /这样的标签,替换成 p/,用的语句是这

请教一个preg_replace的奇怪问题。
我需要在一个html文档中将 < br />这样的标签,替换成 <p/>,用的语句是这样的:

$demo = "abc <br/> def" ;
$demo = preg_replace('< *br */ *>', '<p/>', $demo);

最后demo结果为 "abc <<p/>> def"

怎么多出一对尖括号了呢?

但是同样的方法,使用ereg_replace就正常了:
$demo = "abc <br/> def" ;
$demo = ereg_replace('< *br */ *>', '<p/>', $demo);
demo输出:"abc <p/> def"

听说php以后会淘汰掉ereg_replace,但是我这个功能preg_replace老是莫名其妙在外边多出一对尖括号,我好郁闷呀!

为什么呀?

[解决办法]
$demo = preg_replace('#< *br */ *>#', '<p/>', $demo);


你的 '< *br */ *>', '<p/>' 是将<>作为定界符用的

热点排行