php - 如何在文本区域和数据库之间保留换行符?

标签 php mysql str-replace nl2br

我正在使用 nl2br().<br/> 将文本区域中的用户输入存储到数据库中 现在的问题是我不想显示 "br"当我稍后在文本区域中显示此输入但作为新行显示时标记。 <br/> 我用的是 str_replace但这似乎每次我来回都会添加一个新行。 例如。用户输入

Hello
World

它被存储为

Hello<br />World 

我没问题。 但是当我在文本区域中再次显示它时,我得到了(在 str_replace..ing br 标签后带有“\n”)

Hello

World  //which if i submit gives me Hello<br /><br />World

有什么办法可以实现我想在这里做的事情吗?

最佳答案

不要nl2br 存储它。您应该只存储发布的原始 数据。如果您想更新它以供显示,请在那时使用 nl2br

if ($storing) {
    $dbstmt->execute($_POST['textarea-value']);
}
else {
    $textareaValue = $db->query($select);
    echo "<div>" . nl2br(htmlspecialchars($textareaValue)) . "</div>";
    echo "<textarea>" . htmlspecialchars($textareaValue) . "</textarea>";
}

关于php - 如何在文本区域和数据库之间保留换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17570362/

相关文章:

php - 使用在 codeigniter 框架下构建的 oauth 2 保护我的 API

mysql - 按 Soundex(或类似)排序 `Closeness`

php - 将_blank 添加到所有外部链接

batch-file - 需要从 1 行很长的文本文件中替换 13 个空格

batch-file - 在批处理中用新行替换字符串

php - 为数组中的每个项目循环 MySQL-Query 10 次(PHP 和 MySQL)

php - 简单工厂模式演示

php - 如何在没有警告的情况下循环此数组

php - 从数据库中的 URL 选择特定的子域

mysql - 具有多个时间间隔的重复日期的 Symfony3 实体设计