PHP addslashes()和stripslashes():字元串轉義
- 2020 年 2 月 26 日
- 筆記
PHP 中使用 addslashes() 函數轉義字元串。所謂字元串轉義,就是在某些特殊字元前面加上轉義符號,這些特殊字元包括單引號
'
、雙引號"
、反斜線與空字元
NUL
。 addslashes() 函數的語法格式如下:
string addslashes ( string $str )
該函數返迴轉義後的字元串,參數 $str 是要被轉義的字元。 一個使用 addslashes() 的例子是往資料庫中輸入數據,例如將名字O'reilly
插入資料庫中,就需要對其進行轉義。 我強烈建議使用 DBMS 指定的轉義函數,比如 MySQL 是 mysqli_real_escape_string(),PostgreSQL 是 pg_escape_string(),但是如果你使用的 DBMS 沒有一個轉義函數,並且需要使用來轉義特殊字元,那麼就可以使用 addslashes() 函數。僅僅是為了獲取插入資料庫的數據,額外的
並不會插入。
當 PHP 指令 magic_quotes_sybase 被設置成 on 時,意味著插入'
時將使用'
進行轉義。
轉義字元串的示例如下:
<?php $str = "I don't love you"; echo addslashes($str); ?>
執行以上程式的結果為:
I don't love you
stripslashes() 函數可以還原經 addslashes()轉義的字元串,它的語法格式如下:
string stripslashes( string $str )
該函數返回未經轉義的原始字元串,參數 $str 是轉義後的字元串。 還原轉義字元串的示例如下:
<?php $str = "I don't love you"; $str1 = addslashes($str); echo $str1 . "<br />"; echo stripslashes($str1) . "<br />"; ?>
以上程式的執行結果為:
I don't love you I don't love you