问题标签 [nl2br]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1136 浏览

php - 为什么 nl2br 很多

我创建了一个在输出时使用 nl2br() 的 bbcode 解析器。但是,为什么会是这个结果

输入

输出

我的php函数

我的测试:在 [table] 和 [/table] 之间,显示六次 \n。所以在 [table] 出现六次之前

我该如何解决?

我可以跳过不在 [table] [ul] [li] 中使用 nl2br 而是在 [tr] [li] 中使用吗?

或者任何人都可以给我更多建议

谢谢。

0 投票
1 回答
467 浏览

php - PHP 在使用 nl2br 时忽略空白字符的新行

如果新行只包含空白字符或者是空字符串,使用nl2br时如何忽略?

0 投票
1 回答
830 浏览

php - 使用换行符安全地存储 textarea 输入并保留换行符

我在将用户提交的演示文稿作为 TEXT 字段存储在数据库中时遇到问题。它不允许任何 HTML,但应保留换行符

因此,例如,如果用户使用 textarea 作为输入法从表单提交这样的演示文稿:

这是第 1 行

这是第 3 行
这是第 4 行

它应该完全像那样输出,并在此过程中从任何 HTML 中清除输入。

存储过程:

并在获取后输出:

它以这样的方式存储在数据库中:

并在页面上显示为:

我想要的是在用户提交时显示的演示文稿,保留换行符,清除任何 HTML 并安全地存储在数据库中。

我已经尝试过 strip_tags、stripcslashes 等,但我仍然无法让它工作..

有谁能帮忙?

提前致谢。

0 投票
2 回答
215 浏览

php - 如何在 php echo 中添加新行

我数据库中故事内容的文本是:

I want to add\r\nnew line

(没有报价)

当我使用:

替换为\r\nbr它不起作用。浏览器仍然显示\r\n. 当我查看源代码时,\r\n它仍然存在,br也无处可寻。这很奇怪,因为当我nl2br使用简单的代码测试函数时:

它确实有效。你能告诉我为什么它不起作用吗?太感谢了。

0 投票
2 回答
3178 浏览

angularjs - 如何在Angularjs中一起使用nl2br和linky过滤器?

我正在尝试使用多个过滤器,如下所示,

什么都没有。但是,当我如下更改过滤器的顺序时

linky 有效,但 nl2br 无法将换行符转换为 br。

以下实现可用于 nl2br:

0 投票
0 回答
123 浏览

php - 使用 $_SESSION 在 Textarea 上显示 \r\n\

例如,如果我提交此文本并将其放入 $SESSION:

1
号线 2号线

当我尝试在 textarea 中再次显示此文本时,我的文本如下所示:

第 1 行\r\n\第 2 行

我的代码是:(文本区域)

我的 PHP(我发送 textarea ):

我的 PHP(将会话放入变量:$corpo)

我尝试使用replace 或str_replace,但没有任何效果。

有人可以帮助我吗?

0 投票
1 回答
447 浏览

php - 显示文本
还是 nl2br()?

当我想到它时,为什么我应该使用函数 nl2br() 而不是使用标签<pre></pre>

谢谢。

0 投票
1 回答
97 浏览

php - PHP 电子邮件中的新行显示为“\r\n”

我有一个标准的 html 表单:

提交后,将使用以下 PHP 通过电子邮件发送:

这可以很好地发送电子邮件,但原始消息中的任何新行都会打印为“\r\n”。

例如,用户在表单中输入以下内容:

这个

一个

测试。

但是电子邮件中传递的是:

这个\r\n\r\nis\r\n\r\na\r\n\r\n测试。

我曾尝试nl2br在 PHP 代码中的多个位置使用,但没有任何效果。电子邮件以纯文本形式发送,因此<br>无论如何都无法正常工作。我想暂时保留mysql_escape_string,但还要保留原始消息中的回车。

0 投票
5 回答
31250 浏览

blade - 如何在 Laravel 5 Blade 中使用 nl2br()

所以我想在使用刀片模板引擎时保留数据库中的换行符。我想出了这个想法

有用。但它看起来像是一个不必要的复杂解决方案。有没有更好的办法?

0 投票
2 回答
1767 浏览

css - 应该如何处理 bbcode 中的换行符?

我正在使用 PECL bbcode 扩展来定义一组我允许用于论坛的标签。我已经实现了http://www.bbcode.org中描述的几乎所有标签。

论坛用户已经开始期望,当他们在输入字段中换行时,他们的帖子也会换行。我正在努力做到这一点。

nl2br()方式_

nl2br()非常适合让浏览器在用户键入时使用换行符,因为它会找到换行符并<br />在其中抛出标签以使浏览器也使用换行符。但这会给一些更复杂的标记带来麻烦。

例如:

结果是

这会在任何地方抛出空格。出于同样的原因,表格也有类似的问题。此外,任何实际显示空格的标签(例如<pre><code>code goes here</code></pre>)都会被双倍行距。恶心。

CSS方式

CSS 有white-space一些规则可以在这些情况下派上用场。如果我们将所有论坛帖子放在一个.bbcode元素中,然后只包含样式表规则

然后浏览器将保留换行符,折叠其他空格并换行。这听起来很理想。但是,列表项等仍然会出现这种双倍行距问题,因为浏览器会在每个</li>.

我们可以通过定义来解决其中的一些问题:

这缓解了列表和表格中的问题。但是,现在换行符只出现在帖子的根元素中,因此在例如表格单元格中使用换行符是行不通的。

我该怎么做?方法

我真正想要的是两种效果的组合:

  • 当源在所有标签之外换行时,浏览器会换行
  • 当源在块级或结构标签的关闭或打开之后不立即换行时,浏览器会换行

理想情况下,我认为[li]some\ntext[/li]应该导致两行,[li]sometext[/li]\n应该只导致一行,并且[i]sometext[/i]\n应该导致两行。

这样的事情是怎么做的?或者更确切地说,人们通常在使用 bbcode 的论坛上做什么?我可能会编写一个函数,在其中定义<br />应该插入 a 的所有情况,这闻起来很像重新发明许多轮子。