现有一个字符串,如下:
$str = "sads<br>dsad[code]<br/>sdsadsadsad<br/>sfdsfdsfdsf[/code]dasd<br/>sad";
如何利用正则将[code]标签内的所有<br/>替换成#号,而[code]标签外部的<br/>和其他字符不消替换
我要的输出的功效布局如下([code]标签以外的内容原样输出):
"sads
dsad[code]#sdsadsadsad#sfdsfdsfdsf[/code]dasd
sad";
答:
<?php $str="sads<br>dsad[code]<br/>sdsadsadsad<br/>sfdsfdsfdsf[/code]dasd<br/>sad"; $pat="/\[code\](.*?)\[\/code\]/i"; function back($matches) { return preg_replace("/<br\/>|<br>|<br \/>/i","#",$matches[0]); } echo preg_replace_callback($pat,'back',$str); ?>end
上一篇: 收罗侠正文提取道理调查 | 下一篇:一个URL名目正则的表明» 标签:分享到: 更多
相关日志:
PHP收罗链接,相对链接转为绝对链接
PHP过滤输出安详的html
利用正则表达式优化网页代码
php收罗网站的title部门
RegexBuddy 3 正则的翻译
正则是不是很难学?记个口诀吧
PHP正则匹配6到16位字符构成,只可有数字、字母、下划线