PHP中 stripslashes() 函數 和 addslashes() 函數

2020-07-16 10:05:47
本篇將為大家介紹PHP中 stripslashes() 函數 和 addslashes() 函數。

一、stripslashes()——刪除反斜槓

定義和用法

stripslashes() 函數刪除由 addslashes() 函數新增的反斜槓。

提示:該函數可用於清理從資料庫中或者從 HTML 表單中取回的資料。

<?php
 
echo stripslashes("Who's Bill Gates?");

二、addslashes()——在每個雙引號(")前新增反斜槓

定義和用法

addslashes() 函數返回在預定義字元之前新增反斜槓的字串。

預定義字元是:

單引號(')

雙引號(")

反斜槓()

NULL

提示:該函數可用於為儲存在資料庫中的字串以及資料庫查詢語句準備字串。

注釋:預設地,PHP 對所有的 GET、POST 和 COOKIE 資料自動執行 addslashes()。所以您不應對已跳脫過的字串使用 addslashes(),因為這樣會導致雙層跳脫。遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測。

<?php
$str = addslashes('Shanghai is the "biggest" city in China.');
echo($str);

三、注意點

1. 當magic_quotes_gpc = on時,系統會自動處理單引號等問題,用不用addslashes()和stripslashes()都沒關係,但是如果新增資料時用了addslashes(),那麼顯示資料時必須要stripslashes()

2. 當magic_quotes_gpc = off時,系統不會處理單引號等問題,所以插入資料時必須要使用addslashes(),顯示資料時則不需要使用stripslashes()。

既然有了分析,做程式時要怎麼辦呢?根據以上兩種情況,可得:

不管magic_quotes_gpc是On還是Off,咱新增資料時都用addslashes(),當On時,必須使用stripslashes(),Off時則不能用stripslashes()。

如何判斷on還是off呢?用get_magic_quotes_gpc()。

以上就是PHP中 stripslashes() 函數 和 addslashes() 函數的詳細內容,更多請關注TW511.COM其它相關文章!