gpt4 book ai didi

PHP 用换行符保存文本区域中的内容

转载 作者:行者123 更新时间:2023-11-29 20:20:29 25 4
gpt4 key购买 nike

这可能真的很愚蠢,但我尝试使用 PHP 将 texarea 中的内容保存到 MySQL 中。通常换行符会保留在数据库中。但突然它们被删除了。

我使用 jquery 通过 ajax 将值发送到 PHP,然后在 PHP 中执行此操作:

$var   = strip_tags( $_POST["var"] );
$db->query("UPDATE table SET var='$var' WHERE id=$id")

不知何故,换行符在传入的过程中丢失了。如果我对 var 执行 nl2br,那么它们会被转换为 <br/> ,因此 $var 包含换行符,直到我运行查询。

更新,增加陌生感。如果我实际上在 $var 上运行 nl2br,然后用换行符替换 br-tags,在更新表之前,一切都很好,这是怎么回事?!?

这工作得很好:

$var   = strip_tags( $_POST["var"] );
$var = nl2br($var);
$var = preg_replace('#<br\s*/?>#i', "\n", $var);
$db->query("UPDATE table SET var='$var' WHERE id=$id");

最佳答案

我再次查看了 Zebra(这次是源代码),正如之前的评论中提到的,这正是删除换行符的原因。 Zebra 包中的转义方法使用: http://php.net/manual/en/mysqli.real-escape-string.php

这意味着以下内容被删除:NUL (ASCII 0)、\n、\r、\、'、"和 Control-Z。

关于PHP 用换行符保存文本区域中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39528766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com