我正在使用nl2br()
将\n
字符转换为<br />
标签,但我一次不想要多个<br />
标签。例如,Hello \n\n\n\n Everybody
应该成为Hello <br /> Everybody
.
我怎样才能做到这一点?
最直接的方法可能是首先使用一个简单的正则表达式替换多个换行符:
nl2br(preg_replace("/\n+/", "\n", $input));
如果您有 php 5.2.4+,您可以使用 preg_replace 和垂直空白字符类型\v
$str = preg_replace('/\v+/','<br>', $str);
我会尝试先使用 preg_replace() 用单个换行符替换重复的换行符,然后使用 nl2br 转换为 HTML
标记。nl2br(preg_replace('/\n+/', '\n', $the_string))
应该做的伎俩(未经测试)。