[^>).*?)(CSDN)([^我爱CSDN 我爱CSDN,CSDN不爱我 $s =).*?)(CSDN)([^我爱CSDN 我爱CSDN,CSDN不爱我 如果重复次数多了">
时间:2021-07-01 10:21:17 帮助过:7人阅读
有大神写过给个例子吗?
不清楚,同求
我爱CSDN 我爱CSDN,CSDN不爱我
然后中间有 CSDN的 就替换成
CSDN
如果第二次编辑的时候, href中的csdn不要替换,
没人会吗?急呐
$s =<<< TXT我爱CSDN 我爱CSDN,CSDN不爱我TXT;$p = '/((?:^|>).*?)(CSDN)([^<]*(?:<(?!\/a)|$))/is';$r = '$1$2$3';do { $t = $s; $s = preg_replace($p, $r, $t);}while($s != $t);echo $s;我爱CSDN 我爱CSDN,CSDN不爱我
$s =<<< TXT我爱CSDN 我爱CSDN,CSDN不爱我TXT;$p = '/((?:^|>).*?)(CSDN)([^<]*(?:<(?!\/a)|$))/is';$r = '$1$2$3';do { $t = $s; $s = preg_replace($p, $r, $t);}while($s != $t);echo $s;我爱CSDN 我爱CSDN,CSDN不爱我
$abc = '欢迎'; $c='liw5ucms PHP版本即将发布,欢迎大家关注!endfds
dhh呵呵 站长导航 啊哈哈5ucms啊哈哈 邱嵩松tjgad'; echo '原文=
'.$c.'
'; echo '替换词=
'.$abc.'
'; // 第一步获取字符串里所有图片的正则表达式 preg_match_all("//i",$c,$arryimg); $imgtimes = count($arryimg); for($j=0;$j<$imgtimes;$j++){ //读取出符合的关键词名称 $img = $arryimg[0][$j]; $c = str_ireplace($img,'@img['.$j.']@',$c);//替换掉 变成链接 $qimg[$j] = $img;//存入数组 } // 第二步获取字符串里所有超链接的正则表达式 preg_match_all("/(.*?)<\/a>/i",$c,$arrya); $atimes = count($arrya); for($j=0;$j<$atimes;$j++){ //读取出符合的关键词名称 $a = $arrya[0][$j]; $c = str_ireplace($a,'@a['.$j.']@',$c);//替换掉 变成链接 $qa[$j] = $a;//存入数组 } echo '去图+链接=
'.$c.'
'; // 第三步 按指定次数替换 $c = str_replace($abc,''.$abc.'',$c);//替换掉 指定次数 变成链接 echo '替换结果=
'.$c.'
'; // 第四步 恢复旧的图片 for($i=0;$i'.$c;