我正在做一个使用php清除文本的项目。 说我有这样的字符串:
$string = 'Life is like. . . . . . a box of chocolate. . . . . '; //each dot separated by space
我如何获得
之类的输出$string ='Life is like a box of chocolate';
答案 0 :(得分:0)
您可以使用preg_replace
$string = 'Life is like. . . . . . a box of chocolate. . . . . ';
echo preg_replace('/[.,]/', '', $string);
答案 1 :(得分:0)
如果您的预期结果只是去除点和周围的空间,则可以使用preg_replace,但是要获得预期结果,您需要更复杂的正则表达式:
echo preg_replace(array("/(?<!\w) *\. */", "/(?<=\w)\. */"), array("", " "), $string);
在这里,我使用两个正则表达式组成的数组来匹配两种不同的情况:
\w
表示字母或数字,这是一个负数)。这将替换为空字符串。 2是为了匹配并删除'like. '
中的点,但在单词后留一个空格。
这给出了预期的结果:'Life is like a box of chocolate'
您可以了解有关正则表达式(正则表达式的简称)的更多信息,以查找网络上的教程。
答案 2 :(得分:-1)
这不是一个简单的str_replace()吗?
str_replace(". ", "", $text);