我想清理一些已解析的文本,例如
\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中做到这一点?
我想清理一些已解析的文本,例如
\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中做到这一点?
如果您只想要 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);
关于什么
$text = str_replace(array("\n", "\r"), '', $text);
这将删除所有换行符。
如果您希望它们作为新行,我会将替换更改<br />
为 HTML(或者更好的是,使用 PHP's nl2br()
),或者将它们标准化为普通文本\n
,例如。