gpt4 book ai didi

php - 在 PHP 和 MySQL 中插入和显示特殊字符

转载 作者:行者123 更新时间:2023-11-30 00:30:38 24 4
gpt4 key购买 nike

我正在创建小型消息传递模块,并且我正在尝试准确存储他们输入的数据。

目前,我从输入中删除 HTML 标签,并添加 htmlentities 来转义特殊字符...

$message = strip_tags($_POST['input']);
$message = htmlentities($message, ENT_QUOTES);
$message = $Database->escape($message);

转义只是mysqli_real_escape_string

然后我使用以下内容尝试再次解析并显示数据...

$message = str_replace('\r\n', '<br>', $message); 
$message = str_replace('\n', '<br>', $message);
$message = str_replace('\r', '<br>', $message);

我在尝试显示 \(反斜杠)时遇到问题,因为它显示两个而不是一个(即使写了一个)

最佳答案

在转义序列周围使用双引号 " 字符而不是单引号 ' 字符。

$message = str_replace("\r\n", '<br>', $message); 
$message = str_replace("\n", '<br>', $message);
$message = str_replace("\r", '<br>', $message);

在 PHP 中,用双引号括起来的文字字符串的解释方式有所不同。

引用PHP manual page on Strings :

Unlike the double-quoted and heredoc syntaxes, variables and escape sequences for special characters will not be expanded when they occur in single quoted strings.

因此 echo '\n' 将输出一个反斜杠,后跟 n,而 echo "\n" 将输出一个 Unix 行-提要字符。

关于php - 在 PHP 和 MySQL 中插入和显示特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22549428/

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