正则表达式替换排除特定情况
Posted jenqz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式替换排除特定情况相关的知识,希望对你有一定的参考价值。
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: 如有漏洞,望不吝指教。
以上是关于正则表达式替换排除特定情况的主要内容,如果未能解决你的问题,请参考以下文章