addslashes

addslashes() 函式在指定的預定義字元前添加反斜槓。這些字元是單引號(')、雙引號(")、反斜線(\)與NUL(NULL字元)。

函式定義

string addslashes ( string $str )

本函式可在PHP4和PHP5下使用。

返回字元串,該字元串為了資料庫查詢語句等的需要在某些字元前加上了反斜線。這些字元是單引號( ')、雙引號( ")、反斜線( \)與 NUL( NULL 字元)。

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

參數說明

$str

輸入的字元串。

使用場景

一個使用 addslashes() 的例子是當你要往資料庫中輸入數據時。例如,將名字 O'reilly 插入到資料庫中,這就需要對其進行轉義。大多資料庫使用 \ 作為轉義符: O\'reilly。這樣可以將數據放入資料庫中,而不會插入額外的 \。當 PHP 指令 magic_quotes_sybase 被設定成 on 時,意味著插入 ' 時將使用 ' 進行轉義。

使用示例

以下例子是一個簡單的PHP腳本,用來示例addslashes函式的用法。

<?php

$str = "Is your name O'reilly?";

// 輸出:Is your name O\'reilly?

echo addslashes($str);

?>

<?php

$str="\"php\"";

//輸出\\\"php\\\"

echo addslashes($str);

實例

還原addslashes處理過數據

<?php

// 說明: 用 stripslashes 還原 addslashes 轉義後的數據

if(get_magic_quotes_gpc())

{

function stripslashes_deep($value)

{

$value = is_array($value) ? array_map('stripslashes_deep', $value) : (isset($value) ? stripslashes($value) : null);

return $value;

}

$_POST = stripslashes_deep($_POST);

$_GET = stripslashes_deep($_GET);

$_COOKIE = stripslashes_deep($_COOKIE);

}

?>

PHP語言介紹

PHP(PHP:Hypertext Preprocessor)是一種在電腦上運行的腳本語言,主要用途是在於處理動態網頁,也包含了命令行運行接口(command line interface),或者產生圖形用戶界面(GUI)程式。PHP最早由Rasmus Lerdorf在1995年發明,而現在PHP的標準由PHP Group和開放原始碼社區維護。PHP以PHP License作為許可協定,不過因為這個協定限制了PHP名稱的使用,所以和開放原始碼許可協定GPL不兼容。PHP的套用範圍相當廣泛,尤其是在網頁程式的開發上。一般來說PHP大多運行在網頁伺服器上,通過運行PHP代碼來產生用戶瀏覽的網頁。PHP可以在多數的伺服器和作業系統上運行,而且使用PHP完全是免費的。

相關詞條

相關搜尋

熱門詞條

聯絡我們