如何使用 preg_replace 从字符串中删除单个字符单词

Mik*_*ike 3 php regex preg-replace

鉴于以下输入 -

"I went to 1 ' and didn't see p"
Run Code Online (Sandbox Code Playgroud)

,PHP 的 preg_replace 函数的正则表达式是什么,用于删除所有单个字符(和剩余的空格),以便输出为 -

"went to and didn't see".

我一直在寻找解决方案,但找不到。类似的示例没有包含正则表达式的解释,因此我无法使它们适应我的问题。因此,如果您知道如何执行此操作,请提供正则表达式,但也请分解它,以便我能够理解它是如何工作的。

干杯

pon*_*cha 5

尝试这个:

$output = trim(preg_replace("/(^|\s+)(\S(\s+|$))+/", " ", $input));
Run Code Online (Sandbox Code Playgroud)
  • (^|\s+)表示“字符串或空格的开头”
  • (\s+|$)意思是“空格字符串的结尾”
  • \S是单个非空格字符