问题标签 [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 投票
1 回答
829 浏览

php - 如何在使用 php 创建 pdf 时包含新行和空格?

我正在尝试使用 php 创建一个 pdf 文档。

但是,我无法在 pdf 中换行。

nl2br不工作,所以我用过

现在我在 html 中得到了正确的输出为

但是在pdf中,我得到的只是

0 投票
3 回答
1249 浏览

php - 使用 nl2br() 时忽略前置标签

我想在使用 nl2br 时忽略以下标签。我有标准的 pre,还有一些特定的 pre 标签。当我这样做时,会将标签贴<br>在标签内<pre>

退回这个

似乎忽略了有两个<br><br>标签。我认为这可能与评论有关。

使用此代码。

但它忽略了该部分中的回车<pre class="brush: csharp; title: ;" title="">

输出这个

0 投票
5 回答
3468 浏览

php - 文本区域、新行和 nl2br 的问题

我无法从数据库中获取数据并在 HTML 页面文本区域中回显。

这是用于将数据导入数据库的代码:

这只是去除了 HTML 标记,但数据库中的链接和存储除外。如果您查看数据库,换行符是不可见的,但在那里,所以我假设它们是 \n 和 \r。

如果我要输入文本区域:

数据库将其存储为:

当回显到 textarea 中时,会显示以下内容:

我确定我错过了一些非常简单的东西,非常感谢任何帮助。

更新:

如果我删除 mysqli_real_escape_string,换行符将被保留并完美运行,我是否必须为此牺牲安全性?

解决了:

mysqli_real_escape_string 导致问题,不要回显已应用此变量的变量。仅在从数据库中插入、删除等时使用 mysqli_real_escape_string,而不是之前,绝对不是之后;)

感谢大家!

0 投票
3 回答
1842 浏览

php - PHP中提交的文本中的换行符转换

我为用户设置了一个系统,可以将他们的文章提交到我的数据库中。因为它只是 HTML,我不希望他们知道<br />每次有换行符时都要输入,所以我nl2br()在输入上使用 PHP 函数。

我还提供了一个文章修改工具,它将把他们的文章带回表单(但是这是一个不同的页面)并允许他们编辑它。在这样做时,<br />元素也出现了(仍然有换行符)。为了纠正
出现的元素(无论如何我已经预料到了),我添加preg_replace('/<br(\s+)?\/?>/i', "\n", mysql_result($result,$i,"content"))了我在本网站的另一个问题中找到的元素。它完成了删除<br />元素的工作,但是由于它用换行符替换它们,并且换行符本来会保留,每次编辑帖子时,都会添加越来越多的换行符,每个段落的间距越来越大时间。这是用户无法理解的。

例如,假设我在文章提交表单中输入以下内容:

这将转换为:

请注意,即使换行符已转换,文本中仍然存在换行符。在编辑表单中,<br />将转换回换行符,如下所示:

因为<br />已转换为换行符,但已经有换行符。所以我想我期待的是它最初被转换成这样的东西:

我想知道......有没有办法阻止该nl2br()功能维护原始换行符?可能与Windows\r\n角色有关吗?

0 投票
1 回答
106 浏览

php - 仅返回指定数量的单词

我有一些 HTML 标记的文本,我只想输出 40 个单词。

例如

我现在正在使用 nl2br,因为它有 EOL。explode()str_word_count仅考虑常规单词。

0 投票
2 回答
2213 浏览

php - 文本区域中的换行符

我正在使用 php 编写一个表单,该表单有一个 textarea,数据使用$_POST;发送到脚本。然后存储到数据库中。问题是当文本框被填充并且如果用户不按回车来换行但是他等到文本区域的宽度结束时存储在数据库中的文本都在一行中,例如,如果他写道:

您好,这是文本,它涵盖了TE <= 文本框结尾(无 br 无 /n) XTAREA 的所有宽度。

即使当您达到文本框的最大宽度时,文本也会换行。当我用查询打印消息时,结果都在一行中(这搞砸了我的网站布局)

我已经设法使用以下代码记录用户 ENTER 笔划:

但我不知道如果他不使用 ENTER KEY 该怎么办。

0 投票
1 回答
216 浏览

php - 输入标签中的换行符,来自mysql的数据

我的<input>标签正在打印<br />而不是实际产生换行符?我有一种感觉,我忽略了一些简单的事情......

我不应该$bio从 MySQL 数据库调用该变量,并将其设置为“longtext”
(我怀疑这可能是一个因素)

输出确实显示 <br/>

但是我的 php 似乎并没有将其转换为实际的换行符。

谁能想到会发生这种情况的原因?(我唯一想到的是检查htmlspecialchars(),但$bio变量没有。

谢谢!!

0 投票
3 回答
5996 浏览

php - 文本解码后输出 \r\n - PHP

我正在构建一个应用程序,用户可以在其中将注释输入文本区域。然后在输入数据库时​​对注释进行编码。当我解码返回值时,nl2br 函数不起作用。它不会用 br 标签替换 \r\n 。当不编码/解码文本时,它可以工作。

我正在使用以下代码对我的信息进行编码/解码:http ://www.myphpscripts.net/tutorial.php?id=9

如果我进入一个文本区域:

它对其进行编码,然后在解码时返回

我可以执行 str_replace,但据我了解,根据浏览器的不同,textarea 可能使用 \n 或 \r 而不是 \r\n。

不知道什么是好的解决方案......请帮忙!谢谢!

0 投票
12 回答
344901 浏览

php - 如何从字符串中删除换行符(无字符!)?

这似乎是一个骗局,但请放心,它不是——我已经搜索了 SO 以及网络的其他部分来寻找我的问题的答案,并最终一遍又一遍地找到同样不充分的“解决方案”。无论如何,这里是:

我正在将用户输入从 textarea 保存到 MySQL 数据库(在 WordPress 环境中,但我相信这与这个问题无关)。它稍后会从数据库中检索,以显示给站点后端的管理员。当用户提交带有换行符的文本时(即按 Enter 键),就会出现问题。

示例字符串可能如下所示:

字符串中没有行尾字符(“\n”、“\r”等)。

我正在使用nl2br()它来生成 HTML 输出,但这还不够。结果是:

据我了解,这是预期的nl2br()结果,因为它插入了标签并且不应该首先替换换行符?

但是我需要的格式是这样的:

如果字符串中包含 EOL 字符,例如“\n”,我会使用其中一个str_replace()preg_replace()完成它,但是如果那里没有字符,我不知道用什么针来喂这些函数中的任何一个首先。

我可以手动访问数据库中的相关字段,为每个换行符点击 Backspace 以及我稍后想要对字符串执行的操作。所以我知道我需要上述格式。

0 投票
1 回答
473 浏览

jquery - nl2br jQuery 函数从每一行中删除字符

我有一个非常简单的 br2nl 函数,用于获取字符串并将其粘贴到 textarea 中。出于某种原因,它从某些行的末端裁剪了一些字符。这是我的例子:http: //jsfiddle.net/byZnE/

在此示例中,您将看到“。” (句点)正在从 textarea 中的句子中删除(“Test about information can go here.”)。为什么会发生这种情况,我可以改变我的功能来阻止它?