将换行符替换为<br/>并将其保存到数据库中

Replace newline into <br /> and save it to database

本文关键字:数据库 保存 br 替换 换行符 lt gt      更新时间:2024-04-02

我发现了这个代码replace(/''r''n/g, "<br />");,用于在文本区域内输入字符串后将换行符替换为<br />。但我找不到如何将其保存在数据库中的答案。

我的问题是:

  1. 例如,如果我在文本区域内输入

    "Hello
    World!!"它在数据库中看起来像"Hello<br />World!!!"吗??或者
    它在数据库中看起来像"Hello'nWorld!!!"
    但我用<br />试过了,我得到了我想要的,所以我认为它看起来像第一个吗
  2. 如何使用<br />将其保存到数据库中

    非常感谢您的回复。谢谢:)

使用

nl2br($string)

它将自动输入<br />的代码中的换行符

http://php.net/manual/en/function.nl2br.php

由于我已经指定的原因,您不希望将HTML放入数据库中,除非您确定它只包含HTML。

例如,假设我的名字是"Chris Völkel",如果你把它作为HTML存储在DB中,它会看起来像:"Chris V&ouml;lkel"。这样做的问题是,你不能在其他地方使用这个名字,因为它不是HTML。

例如,您的客户端可能会要求您将DB数据导出到CSV文件中。您最终会在CSV文件中为客户端提供HTML,这并不理想,对吧?

相反,当你在网络浏览器上呈现数据时,你应该将数据编码为HTML:

$data = $_POST['data'];
// ...
$stmt->bind_param($data);

稍后…

echo nl2br(htmlspecialchars($data));