php特殊字符過濾,html標簽處理


1,magic_quotes_gpc 

默認情況下,PHP 指令 magic_quotes_gpc 為 on,對所有的 GET、POST 和 COOKIE 數據自動運行 addslashes()。不要對已經被 magic_quotes_gpc 轉義過的字符串使用 addslashes(),因為這樣會導致雙層轉義。遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測。

其實這個函數就是判斷PHP有沒有自動調用addslashes 這個函數

例子:判斷是否開啟magic_quotes_gpc ,如果沒有開啟則用stripslashes處理字符串

    define('SYS_MAGICGPC', get_magic_quotes_gpc());
    
    $_POST = magic_gpc($_POST);
    
    function magic_gpc($string) {
        if(SYS_MAGICGPC) {
            if(is_array($string)) {
                foreach($string as $key => $val) {
                    $string[$key] = magic_gpc($val);
                }
            } else {
                $string = stripslashes($string);
            }
        }
        return $string;
    }

 


 

2,addcslashes()

定義和用法
addcslashes() 函數在指定的字符前添加反斜杠。
語法
addcslashes(string,characters)參數 描述 
string 必需。規定要檢查的字符串。 
characters 可選。規定受 addcslashes() 影響的字符或字符范圍。 
提示和注釋
注釋:在對 0,r,n 和 t 應用 addcslashes() 時要小心。在 PHP 中,\0,\r,\n 和 \t 是預定義的轉義序列。
實例
例子 1
在本例中,我們要向字符串中的特定字符添加反斜杠:
<?php
$str = "Hello, my name is John Adams.";
echo $str;
echo addcslashes($str,'m');
echo addcslashes($str,'J');
?>
輸出:
Hello, my name is John Adams.
Hello, \my na\me is John Ada\ms.
Hello, my name is \John Adams.

而函數addslashes()的使用:
PHP addslashes() 函數
定義和用法
addslashes() 函數在指定的預定義字符前添加反斜杠。
這些預定義字符是:
•單引號 (')
•雙引號 (")
•反斜杠 (\)
•NULL
語法
addslashes(string)參數 描述 
string 必需。規定要檢查的字符串。 
提示和注釋
提示:該函數可用於為存儲在數據庫中的字符串以及數據庫查詢語句准備合適的字符串。

例子
在本例中,我們要向字符串中的預定義字符添加反斜杠:
<?php
$str = "Who's John Adams?";
echo $str . " This is not safe in a database query.<br />";
echo addslashes($str) . " This is safe in a database query.";
?>
輸出:
Who's John Adams? This is not safe in a database query.
Who\'s John Adams? This is safe in a database query.

stripcslashes()和stripslashes()

他們都有對應的去除他們添加的反斜杠的方法,分別是:stripcslashes()和stripslashes()。


 htmlspecialchars

替換html代碼中的標簽

定義和用法

htmlspecialchars() 函數把預定義的字符轉換為 HTML 實體。

預定義的字符是:

  • & (和號)成為 &
  • " (雙引號)成為 "
  • ' (單引號)成為 '
  • < (小於)成為 <
  • > (大於)成為 >

 

默認替換上面的幾個

htmlspecialchars_decode()用法剛好和上面的相反.


 strip_tags

去掉字符串中的html標簽只保留文字

舉例:

$str = '<a href="a.html" />此處是中文</a>';
echo strip_tags($str);
//結果是:此處是中文

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM