替换字符串中单个字符的空格

时间:2019-01-07 10:21:28

标签: php regex

替换字符串中单个字符的空格

$string = "lorem ipsum dummy text, abc g m a i l test ki ll exi t test 123 1 2     3.";

我要关注输出

$string = "lorem ipsum dummy text, abc gmail test ki ll exi t test 123 123.";

注意:

  

将其转换为gmail

     

1 2 3转换为123

gmail和123和是示例文本。

示例代码:

$string = "lorem ipsum dummy text, abc g m a i l test ki ll exi t test 123 1 2     3.";

echo preg_replace('"/\s+(\d{1,1})\s+/"', '', $string);

1 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式并将其替换为group1中恰好是一个单词字符的匹配项。

(?<=\b\w\b) +(\b\w\b)

此正则表达式基本上选择一个或多个空格,然后紧跟一个单词\w,并确保紧跟一个\w字符,并替换为group1中匹配的字符,即一个字字符。

Demo

示例PHP代码,

$string = "lorem ipsum dummy text, abc g m a i l test ki ll exi t test 123 1 2     3.";
echo preg_replace('/(?<=\b\w\b) +(\b\w\b)/', '$1', $string);

像您在帖子中提到的那样打印此内容以获得预期的输出,

lorem ipsum dummy text, abc gmail test ki ll exi t test 123 123.
相关问题