1

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

\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中做到这一点?

4

2 回答 2

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);
于 2009-10-18T23:59:53.597 回答
1

关于什么

$text = str_replace(array("\n", "\r"), '', $text);

这将删除所有换行符。

如果您希望它们作为新行,我会将替换更改<br />为 HTML(或者更好的是,使用 PHP's nl2br()),或者将它们标准化为普通文本\n,例如。

于 2009-10-18T23:51:39.467 回答