当前位置: 首页 > 面试题库 >

如何在SQL中将换行符转换为BR后保存Textarea输入

哈和惬
2023-03-14
问题内容

我在管理面板中使用ckeditor,但在用户提交表单中使用简单的文本框,因此用户可以输入文本并提交。问题是,当用户在带有换行符的textarea中输入文本时,它将另存为SQL。我想在sql中的每一行之后添加BR。

例如,用户提交:

    ![F.R.I.E.N.D.S.:
(F)ight for you.
(R)espect you.
(I)nvolve you.
(E)ncourage you.
(N)eed you.
(D)eserve you and
(S)tand by you.][1]![SCREENSHOT oF DB SAVE][2]

已保存到数据库中,并在输出中显示下一行。但我想在数据库中另存为:

    F.R.I.E.N.D.S.:<br />
(F)ight for you.<br />
(R)espect you.<br />
(I)nvolve you.<br />
(E)ncourage you.<br />
(N)eed you.<br />
(D)eserve you and<br />
(S)tand by you.

我使用nl2br,但不适用于用户提交表单。如果我在管理处理表单上使用nl2br,则在已经使用ckeditor添加的字段上添加了两个BR标签。

用户提交表单上使用的代码为:

<textarea name="content" id="content" cols="60" rows="10" class="span7"><?php if(isset($content)) { echo $content; } ?></textarea>

$content = trim($_POST["content"])
$content = mysql_real_escape_string($content);
$content = nl2br($content);

在文本区域使用ckeditor的管理员批准表上不使用任何处理。DB的文本输出在ckeditor的单行中没有换行符出现。如果我在此表单上输出时使用nl2br,它可以工作,但会在通过ckeditor发布的早期文本中添加双BR。

也尝试$content = preg_replace("/\r\n|\r/", "<br />", $content);过有人对类似问题在stackoverflow上提出的建议

请建议我一些解决此问题的功能。

还建议如果需要在插入SQL之前使用htmlentities或反斜杠之类的功能来处理内容。


问题答案:

只需先替换新行\r\n, \r,然后修剪它。

$content = preg_replace("/\r\n|\r/", "<br />", $_POST["content"]);
$content = trim($content])

或者:

$content = nl2br($_POST["content"]);
$content = trim($content)

祝你好运。



 类似资料:
  • 问题内容: 我让jQuery提取一些textarea内容并将其插入li中。 我希望它在视觉上保留换行符。 必须有一种非常简单的方法来执行此操作… 问题答案:

  • 问题内容: 我有一个带有textarea的表单,我想保留输出内容时用户输入的换行符。 例如,如果我在textarea中写: 这是一个句子。这是另一个。这里还有一个。 这是一个新段落。这是一个新句子。这是另一个。 我想要相同的输出,而 不是 : 这是一个句子。这是另一个。这里还有一个。这是一个新段落。这是一个新句子。这是另一个。 如何保留换行符? 问题答案: 通常,您只需要添加 空格修剪为单个空格

  • All linebreaks will be converted to <br /> tags in the given variable. This is equivalent to the PHP nl2br() function. 所有的换行符将被替换成 <br />.功能同PHP中的nl2br()函数一样. Example 5-14. nl2br 例 5-14.换行符替换成<br /> i

  • 问题内容: 我正在做这个 它给了我这个 但是我想要这个 请帮忙。 问题答案: 首先将其转换为十进制, SQLFiddle演示

  • 本文向大家介绍如何在Bash脚本中将DOS / Windows换行符(CRLF)转换为Unix换行符(LF)?,包括了如何在Bash脚本中将DOS / Windows换行符(CRLF)转换为Unix换行符(LF)?的使用技巧和注意事项,需要的朋友参考一下 在Windows和Unix系统之间传输文件时,经常会遇到与行尾字符有关的问题。这是因为Windows中的EOL字符在Unix中未被识别为EOL字

  • 问题内容: 考虑下面的示例,其中有一个包含人员记录的 Person 表和一个包含链接到人员的可选属性的 PersonAttribute 表: Table: Person Table PersonAttribute 我将如何编写一个查询,使所有具有属性的人都像列一样返回?我需要的结果集是: 因此,从本质上讲,我需要编写一个查询,该查询将获取所有带有所有唯一属性键的人记录,这些键被转换为具有每个人记录