我想清理一些解析过的文本,例如
\ 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中执行此操作?
答案 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}将它们标准化为普通文本例如。