0

例如

string = "这是一个 re@lly long long,long! 句子";

变成

string = "这是一个很长的句子";

基本上所有非字母数字单词或删除保持空格

有任何想法吗?

4

2 回答 2

2

试试这个:

preg_replace("/(^|\\s)\\S*?[^ a-zA-Z0-9]\\S*?(\\s|$)/", '$1', $string)
于 2010-05-31T00:40:55.353 回答
1

我认为这样的事情非常直观:

<?php

$text = "This is a #@^!%$ re@lly long long,long! sentence";
print preg_replace("/\\w*[^\\w\\s]\\w*\\s*/", "", $text);

?>

输出是(如在 ideone.com 上看到的):

This is a long sentence

这通过匹配\w*后跟[^\w\s](既不是单词字符也不是空格)的任何序列,然后是\w*\s*. 可以删除任何与此匹配的内容,因此将其替换为"".

也可以看看

于 2010-05-31T03:46:22.470 回答