簡體   English   中英

PHP-替換所有特殊字符以更正顯示

[英]PHP - replace all special characters to correct display

我有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))

我的情況已經完成了,謝謝大家

使用ENT_QUOTES嘗試htmlentities

另外,“ \\ n”是一個字符。 您必須將其替換為您的代碼。 但是,保存時還必須進行反向轉換。

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

echo htmlentities($str, ENT_QUOTES);

可能可以工作,但是要經受mysql的轉義,所以可能是更好的解決方案

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

/.htaccess
php_value magic_quotes_gpc off

將阻止php自動添加斜杠,然后可以使用

mysql_real_escape_string()

在你的sql語句中

並在閱讀[for textbox]時將其刪除

stripslashes()

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

要顯示在DIV中,您必須如上所述htmlentities()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM