$content = preg_replace("/\d{7,}/i", "", $content);
删除长数字的,但是现在有个问题
我不想删除被 < 和 > 之间的数字比如这个:$content = "234234234<a href=222222342.html>aaa</a>";被 < 和 >括起来的我不想删除,有什么好的方法吗
删除长数字的,但是现在有个问题
我不想删除被 < 和 > 之间的数字比如这个:$content = "234234234<a href=222222342.html>aaa</a>";被 < 和 >括起来的我不想删除,有什么好的方法吗
先split,再匹配替换$content = "234234234<a href=222222342.html>aaa</a>";
$splitReg = "/<.*>/g";
$contentMain = match($splitReg,$content)
$splitArray = split($splitReg,$content);foreach ($splitArray as &$value){
$value = preg_replace("/\d+/i", "", $value);
}然后判断$contentMain和$splitArray的数组长度和两个数组的先后位置(可以用test或match正则/^<.*/),
将两个数据元素交叉串联起来即可。这种方法虽然不是最好的办法,但也算是一种solution了哈。
$content = "234234234<a href=222222342.html>aaa</a>";
$content = preg_replace("/(\d{7,})(<.*?>)/is", "\${2}", $content);
var_dump($content);//string '<a href=222222342.html>aaa</a>'作为参考吧 a标签之间 如果有数字再处理吧