我正在尝试替换字符串中的一个或两个字母.请考虑这个正则表达式
$str = 'I haven\'t got much time to spend!';
echo preg_replace('/\b([a-z0-9]{1,2})\b/i','',$str);
returns: haven' got much time spend!
expected output: haven't got much time spend!
Run Code Online (Sandbox Code Playgroud)
我的目标是从字符串中删除任何一个或两个字符长度的单词.这可以是字母数字或特殊字符.
使用外观:
preg_replace('/(?<!\S)\S{1,2}(?!\S)/', '', $str)
Run Code Online (Sandbox Code Playgroud)
当删除单词时,这会留下双重空格.要删除空格,您可以尝试以下方法:
preg_replace('/\s+\S{1,2}(?!\S)|(?<!\S)\S{1,2}\s+/', '', $str)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2930 次 |
| 最近记录: |