码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式替换排除特定情况

时间:2016-06-24 12:16:49      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

1.只替换第一次出现的字符串“红豆”;

$s="i‘am carl 小红豆杉苗 <a href=‘abc‘>dfsaf<a href=\"fdsafdsaf\">大红豆杉</a></a> carl fds<b>af红豆dsa</b>few";
$r = preg_replace(‘/红豆/i‘, ‘绿豆‘,$s,1);
var_dump($r);

结果

string(104) 
"i‘am carl 小绿豆杉苗 <a href="abc">dfsaf<a href="fdsafdsaf">大红豆杉</a></a> carl fds<b>af红豆dsa</b>few"

  

2.替换所有外部不带a标签的字符串”红豆“;

$s=‘i\‘am carl 小红豆杉苗 <a href="abc">dfsaf<a href="fdsafdsaf">大红豆杉</a></a> carl fds<b>af红豆dsa</b>few‘;

$r = preg_replace(‘/(?!<a .*?>.*?)红豆(?![^<]*<\/a>)/i‘, ‘绿豆‘,$s);

//$r = preg_replace(‘/红豆/i‘, ‘绿豆‘,$s,1);
var_dump($r);

结果

string(104) 
"i‘am carl 小绿豆杉苗 <a href="abc">dfsaf<a href="fdsafdsaf">大红豆杉</a></a> carl fds<b>af绿豆dsa</b>few"

  

PS: 如有漏洞,望不吝指教。  

  

正则表达式替换排除特定情况

标签:

原文地址:http://www.cnblogs.com/jenqz/p/5613561.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!