我试图简单地更换一些新的线路,并try 了三种不同的方式,但我没有得到任何改变:

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

这些应该都能用,但我还是能看到新台词.它们是双重的:"\r\r".这应该不会让这些失败,对吧?

推荐答案

换行符前面已经有inserts-<br>标记的nl2br()函数:

示例(codepad):

<?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被双引号引用.

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

Note:与双引号和heredoc语法不同,特殊字符的变量和转义序列出现在单引号字符串中时不会展开.

Php相关问答推荐

PHP和可选函数参数

WooCommerce中仅在单一产品和产品档案页面中将小数设置为大写

累加平面数组中数字子集的所有组合,以生成组合及其乘积的二维数组

多行PHP属性声明中是否允许单行注释

如何确保所有语言文件都使用Laravel中的新密钥进行更新?

在PHP中,如何将介于0和1之间(包括0和1)的浮点概率转换为数组索引?

返回WooCommerce中的所有已启用变体

如何使用MS Graph PHP SDK V2下载文件

如何在execute语句中使用存储过程参数?

在php中,方法之间的属性链接是如何工作的

Laravel 10.x在到达控制器之前将查询参数强制转换为正确的类型

Regex|PHP捕获json字符串中的每个非法双引号

在 PHP MySQL 中自动生成账单编号

单个产品页面 WooCommerce 订阅价格字符串的更改

htaccess 重定向子域错误的 url

将产品数量、名称和结帐链接添加到 WooCommerce 添加到购物车消息

Shopware 6 AuthControllerDecorator已弃用

Woocommerce注册中的自定义复选框验证错误提示问题

php-http/discovery 插件 1.15.1 是否仍在使用自己的模块 destruct Contao 4.13 中的composer 安装?

在 DomPDF 和 Laravel 中使用内联 css