如何用< br/>替换换行符或\ r \ n? [英] How to replace newline or \r\n with <br/>?

查看:218
本文介绍了如何用< br/>替换换行符或\ r \ n?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试简单地替换一些新行.尝试了3种不同的方法,但我没有任何改变:

Trying to simply replace some new lines. Have tried 3 different ways and I get no change:

$description = preg_replace('/\r?\n|\r/','<br/>', $description);
$description = str_replace(array("\r\n","\r","\n"),"<br/>", $description);
$description = nl2br($description);

这些都应该起作用,但是我仍然可以换行.它们是双精度的:"\ r \ r".那不应该让这些失败吗?

These should all work but I still get the newlines. They are double: "\r\r". That shouldn't make any of these fail right?

推荐答案

已经有 nl2br() 函数在新行字符之前替换 插入 <br>标签:

示例(键盘):

<?php
// Won't work
$desc = 'Line one\nline two';
// Should work
$desc2 = "Line one\nline two";

echo nl2br($desc);
echo '<br/>';
echo nl2br($desc2);
?>

但是,如果仍然无法正常工作,请确保将文本$desciption用双引号引起来.

But if it is still not working make sure the text $desciption is double-quoted.

那是因为与双引号字符串相比,单引号不会扩展"诸如\n的转义序列.引用PHP文档:

That's because single quotes do not 'expand' escape sequences such as \n comparing to double quoted strings. Quote from PHP documentation:

注意:与双引号和Heredoc语法不同,特殊字符的变量和转义序列在单引号引起来的字符串中不会扩展.

Note: Unlike the double-quoted and heredoc syntaxes, variables and escape sequences for special characters will not be expanded when they occur in single quoted strings.

这篇关于如何用&lt; br/&gt;替换换行符或\ r \ n?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆