首頁  >  文章  >  後端開發  >  PHP中 stripslashes() 函數 和 addslashes() 函數

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

angryTom
angryTom轉載
2019-10-14 18:31:542693瀏覽

本篇將為大家介紹PHP中 stripslashes() 函式 和 addslashes() 函式。

一、stripslashes()-刪除反斜線

#定義與用法

stripslashes() 函式刪除由addslashes() 函式新增的反斜杠。

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

<?php
 
echo stripslashes("Who\&#39;s Bill Gates?");

二、addslashes()-在每個雙引號(")前面加上反斜線

定義和用法

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

預設字元是:

   單引號(')

   雙引號( ")

   反斜線(\)

   NULL

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

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

<?php
$str = addslashes(&#39;Shanghai is the "biggest" city in China.&#39;);
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相關知識,請造訪PHP中文網

以上是PHP中 stripslashes() 函數 和 addslashes() 函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:www.whmblog.cn。如有侵權,請聯絡admin@php.cn刪除