在先前的文章《PHP中JSON的編碼與解碼(實例詳解)》中我們詳細的介紹了PHP中的數組與字串進行JSON的編碼與解碼的相關知識,本篇文章我們來看看PHP中字元轉義的相關知識,希望對大家有幫助!
在先前的文章中我們了解了可以透過json_encode()
函數和json_decode()
函數來進行PHP數據的編碼和解碼,接下來我們來看看PHP中怎樣對字串進行轉義的操作。
在PHP的開發專案中,能夠遇到很多進行字串轉義的操作,這時候要怎樣進行字串的轉義,在PHP中我們可以透過轉義字元和能夠進行自動轉義的函數來進行操作。下面就讓我們一起來看看吧。
轉義字符-手動轉義字串
#在先前的文章中,我們介紹過轉義字符,轉義字符可以把它看成是能夠進行轉義效果的特殊字符,轉義字符一般都是用反斜杠“\
”開始,後面會有一個或者多個字符,這樣的話,轉義字符就有了能夠轉義的含義。簡單來說,轉義字元就把它看成一種特殊的字元常數。
轉義字元能夠將普通的字元轉換為特殊用途,用這些特殊的用途能夠能夠將字元轉換為它本來的意義。
想要使用轉義字元來轉換字串的話,其中需要注意的是,字串使用單引號或雙引號進行定義的,在字串中如果存在能夠幹擾字串定義的字符,這時候我們就需要將字串內可能有乾擾的字元進行轉義,這樣的話就能夠避免自負的定義出現歧義。
接下來我們透過範例來看一下透過轉義字元來轉義字串,範例如下:
當我們想要輸出:網址是:'https:// m.sbmmt.com/' 的時候,如果單純地使用echo來輸出字串,其中的字元可能會影響最後的輸出結果導致錯誤,這時候透過轉義符就能夠避免這種問題:
<?php header("Content-type:text/html;charset=utf-8"); echo '网址是:\'//m.sbmmt.com/\''; ?>
輸出結果:
這時候就是我們透過轉義符號將字串轉義,這樣的話就能夠輸出我們想要的結果了。
這種手動進行轉義,適用於一些簡單的字串,當字串很複雜的時候,或者字串很長,這時候再使用轉義字元進行手動轉義就有些麻煩了,那有沒有什麼好的解決方法呢?
在PHP中提供了addslashes()
函數和stripslashes()
函數能夠對字串進行自動轉義,下面就讓我們來看一下。
<strong><span style="max-width:90%">addslashes() </span></strong>
#函數-自動轉義字串
PHP中提供addslashes()函數是用來進行自動轉義,透過addslashes()函數能夠在字串中的預定義字元之前加入一個反斜線“\
”,其中這個預定義字元就包括單引號、雙引號和反斜線。
該函數的基本語法格式如下:
addslashes(string)
其中需要注意的是,參數string表示的就是需要進行轉義的字串,傳回的結果就是已經進行轉義的字符串。
下面我們透過範例來看一下該函數的使用,範例如下:
<?php $str = "['好好学习'=>'天天向上','福如东海'=>寿比南山]"; echo $str . "<br>"; $a = addslashes($str); echo $a . "<br>"; ?>
輸出結果:
<strong>stripslashes()<span style="max-width:90%"></span></strong>
# # 函數-還原字串上文中我們說到了在PHP中我們可以透過
() 函數來進行轉義操作,也就是在指定的位置加入反斜杠,與之對應的就是stripslashes
()函數,它的作用就是用來還原字串,刪除由addslashes
() 函數加入反斜線。 stripslashes() 函數的基本語法格式如下:
stripslashes(string)
其中需要注意的是,參數string表示的就是需要進行操作的字串,傳回的結果就是已經刪除掉反斜槓的字串。
接下來我們透過範例來看stripslashes() 函數的應用,範例如下:
<?php $str = "['好好学习'=>'天天向上','福如东海'=>寿比南山]"; echo $str . "<br>"; $a = addslashes($str); echo $a . "<br>"; $b = stripslashes($a); echo $b . "<br>"; ?>
輸出結果:
透過上述範例我們便是透過stripslashes() 函數還原了因addslashes() 函數而進行轉義的字串。
透過addslashes() 函數和 stripslashes() 函數便能夠完成字串的轉義與還原了。
大家如果有興趣的話,可以點選《PHP影片教學》進行更多關於PHP知識的學習。
以上是PHP中轉義字串的方法與還原(實例詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!