在php中替换文本函数

时间:2009-10-18 23:49:34

标签: php text-parsing

我想清理一些解析过的文本,例如

\ n所说的\ r \ n \ r \ n \ r \ n我看着你的眼睛亲爱的\ r \ n \ r \ n我看到绿色滚动森林\ r \ n \ r \ n我看到远处天空\ r \ n \ r \ n他们变成了雨\ r \ n \ r \ n \ r \ n我看到高翱翔的鹰...更多\ n

所以我想摆脱“\ n”,“\ r \ n”,“\ r \ n \ r \ n”,“\ r \ n \ r \ n \ r \ n”,“ \ r \ n \ r \ n \ r \ n \ r \ n“和”\ r“。这就是我解析文本中出现的所有组合。

有没有办法在php中执行此操作?

2 个答案:

答案 0 :(得分:2)

如果您只想要1个换行而不是多个换行,我会建议:

$clean = preg_replace(array("/\r+/","/(\n){2,}/"),array("","\n"),$text);

否则str_replace去除换行符或nl2br将完成这项工作。您还可以调整正则表达式以使用BR标记替换1个或多个换行符:

$clean = preg_replace(array("/\r+/","/\n+/"),array("","<br />"),$text);

答案 1 :(得分:1)

怎么样?
$text = str_replace(array("\n", "\r"), '', $text);

这将删除所有换行符。

如果你想将它们作为新行,我会将替换为<br />替换为HTML(或者更好的是,使用PHP的nl2br()),或者使用{{1}将它们标准化为普通文本例如。