0

我正在使用 preg_replace 从字符串中删除不需要的字符。那工作正常。

我还需要修改它(或在下一行),以便我可以在单词之间允许最多 1 个空格。字符串前后没有空格。

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

我的单词定义 -> 英文单词(包括 az,AZ,0-9,- , _ )

空格 -> 空格键空格 (  ) ,而不是换行符等

有代码片段吗?

谢谢,梅斯瓦拉

4

1 回答 1

2

尝试这个:

<?php
$my_str = 'Hello,    too  many      spaces!';
$my_str = preg_replace('#[\s]+#', ' ', $my_str);
echo $my_str; // returns 'Hello, too many spaces!'
于 2012-02-01T06:12:44.223 回答