0

我有 textarea 并将其存储在 mysql 中。
当我使用 mysql 并将其加载到运行良好的区域时,下面有一些特别的

!@#$%^&*()_+-=~<>?{}[]|*-+/:;.,"`

(输入)字符完成上传到 mysql 但不重新加载。我尝试重新加载

str_replace("\n", "\\n",$string);

它运行良好

当我使用 mysql 时,下面的一些特殊字符不起作用

\'

我尝试在其上方输入双字符以上传到 mysql 但不能重新加载

typing '' to mysql ' but i want typing ' to mysql '

我如何以最佳方式处理上面的一些错误字符(启动并重新加载)。谢谢


更新我的方式
当我使用 mysql 时

addslashes($string)

当我重新加载我使用

 str_replace("\n", "\\n",addslashes($string))

我的案子已经解决了谢谢大家

4

2 回答 2

0

http://www.php.net/manual/en/function.htmlentities.php

echo htmlentities($str, ENT_QUOTES);

可能有效,但会受到 mysql 转义的影响,因此可能是更好的解决方案

http://www.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc

/.htaccess
php_value magic_quotes_gpc off

将阻止 php 自动添加斜杠,然后您可以将它们添加到 sql 中

mysql_real_escape_string()

在你的 sql 语句中

并在阅读 [for textbox] 时删除它们

stripslashes()

http://www.php.net/manual/en/function.stripslashes.php

要在 DIV 中显示,您必须 htmlentities() 如上所述

于 2013-07-02T03:19:01.523 回答
0

尝试使用 ENT_QUOTES 的htmlentities

此外,“\n”是一个单字符。您必须用您的代码替换它。但你也必须在保存时进行反向转换。

于 2013-07-02T03:06:39.763 回答