php中轉義字串的方法:1、利用「\」轉義符,緊接在「\」後面的第一個字元將變成沒有意義或特殊意義的字元;2、使用addslashes()函數,語法「addslashes($str)」。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
在PHP 程式設計的過程中,常常會遇到這樣的問題,將資料插入資料庫時可能會引起一些問題,例如出現錯誤或亂碼等。這是因為資料庫將傳入的資料中的字元解釋成控制符。針對這種問題,就需要使用一種標記或轉義這些特殊的字元。
在PHP 中提供了專門處理這些問題的技術,轉義和還原字串的方法有兩種,一種是手動轉義、還原字串,另一種是自動轉義、還原字串。
方法1:手動轉義、還原字串
字串可以用單引號' '、雙引號" "、定界符
\是一個轉義符,緊接在\後面的第一個字元將變成沒有意義或特殊意義的字元。例如,'是定義字串的特殊符號,而寫成\'後,就失去了它定義字串的功能了,變成普通的單引號了。我們可以使用echo "\'";來輸出一個單引號,轉義符\不會顯示。
【範例】使用轉義字\對字串進行轉義。
<?php header("Content-type:text/html;charset=utf-8"); echo 'Name:\'php中文网\'<br>Url:\'//m.sbmmt.com//\''; ?>
運行結果如下:
對於簡單的字串,建議採用手動方法進行字串轉義,而對於資料量較大的字符串,建議採用自動轉義函數實現字串的轉義。
2、自動轉義、還原字串
自動轉義、還原字串可以使用 PHP 提供的 addslashes() 函數和 stripslashes() 函數實作。
addslashes() 函數的作用是給字串加入\,對指定的字串進行轉義,語法格式如下:
addslashes($str)
addslashes() 函數傳回的字串中,為了資料庫查詢等語句的需要,會在某些字元前面加上了反斜線,這些字元是單引號'、雙引號"、反斜線\與NULL。
stripslashes() 函數的作用是還原一個被轉義的字串,也就是去除在字串中加入的反斜線,語法格式如下:
stripslashes($str)
stripslashes() 函數會傳回一個去除轉義反斜線後的字符串(\'轉換為',雙反斜線\\被轉換為單一反斜線\)。
【範例】使用addslashes() 函數對字串進行轉義,然後使用stripslashes()函數進行還原。
<?php header("Content-type:text/html;charset=utf-8"); $sql = "select * from php where website='php中文网'"; $str = addslashes($sql); echo $str.'<br>'; $str = stripslashes($str); echo $str; ?>
運行結果如下:
#推薦學習:《PHP影片教學》
以上是php中怎麼轉義字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!