如何在MySQL中存储转义字符并在php中显示它们?

2024-01-12

例如,我想存储字符串“仅此而已”。 MySQL 自动转义 ' 字符。如何使用 php 从数据库中回显该字符串,但删除转义字符(如 \' )前面的 \ ?我还想保留其他格式,例如新行和空格。


你有没有尝试过stripslashes(),关于换行只需使用nl2br()功能。

Example:

$yourString = "That\'s all\n folks";
$yourString = stripslashes(nl2br($yourString));
echo $yourString;

Note: \\双斜杠将变成\单斜杠


您可能应该设置自己的函数,例如:

$yourString = "That\'s all\n folks";

function escapeString($string) {
    return stripslashes(nl2br($string));
}

echo escapeString($yourString);

中也有几个很好的例子nl2br() docs http://php.net/manual/en/function.nl2br.php


Edit 2

你看到这些的原因是因为 mysql 正在转义换行符等。我猜你正在使用mysql_*功能。你可能应该看看mysqli or PDO.

这是一个例子:

$yourString = "That's all
 folks";
echo mysql_escape_string($yourString);

Outputs:

这就是全部\r\n 各位

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在MySQL中存储转义字符并在php中显示它们? 的相关文章

随机推荐