以下为什么不起作用?
<?php
$text = 'Hell looo w orlldddddd!!!!!!!!!';
$sanitized = preg_replace("/(\w|\s)\1{1,}/mi","$1",$text);
echo $sanitized;
?>
预期输出应为: Hel lo w or orld!
谢谢
答案 0 :(得分:1)
试试这个:
$text = 'Hell looo w orlldddddd!!!!!!!!!';
$sanitized = preg_replace('/(\w|\s|.)\\1+/', '$1',$text);
echo $sanitized;
输出:
Hel lo w orld!
在这种情况下,这是使用正则表达式所能做到的最佳效果。
答案 1 :(得分:-1)
你忘记了正则表达式中的斜杠:
/(\w|\s)/\1{1,}/mi