PHP代码段-Preg替换以确保字符串中单词之间只有1个空格


PHP Code Snippet - Preg Replace to ensure only 1 whitespace between words in a string

我正在使用preg_replace从字符串中删除不需要的字符。这很好用。

我想额外做的只是修改它(或在下一行),这样我就可以在单词之间最多允许1个空格。字符串前后没有空格。

我在上看到了回复PHP preg_match需要确保在发布可能的解决方案的单词之间只允许有一个空格字符(解决方案->^[a-zA-Z]+([a-zA-Z]+)*$),但提出了一些问题(单词的定义是什么?空白的类型是什么)

我的单词定义->英语单词(包括a-z、a-z、0-9、-、_)

空白->空格空白(&nbsp),而不是换行符等

有代码片段吗?

Thanx,Meswara

试试这个:

<?php
$my_str = 'Hello,    too  many      spaces!';
$my_str = preg_replace('#['s]+#', ' ', $my_str);
echo $my_str; // returns 'Hello, too many spaces!'