PHP中轉義字串的方法與還原(實例詳解)

WBOY
發布: 2023-04-10 19:18:01
原創
6095 人瀏覽過

在先前的文章《PHP中JSON的編碼與解碼(實例詳解)》中我們詳細的介紹了PHP中的數組與字串進行JSON的編碼與解碼的相關知識,本篇文章我們來看看PHP中字元轉義的相關知識,希望對大家有幫助!

PHP中轉義字串的方法與還原(實例詳解)

在先前的文章中我們了解了可以透過json_encode()函數和json_decode()函數來進行PHP數據的編碼和解碼,接下來我們來看看PHP中怎樣對字串進行轉義的操作。

在PHP的開發專案中,能夠遇到很多進行字串轉義的操作,這時候要怎樣進行字串的轉義,在PHP中我們可以透過轉義字元和能夠進行自動轉義的函數來進行操作。下面就讓我們一起來看看吧。

轉義字符-手動轉義字串

#在先前的文章中,我們介紹過轉義字符,轉義字符可以把它看成是能夠進行轉義效果的特殊字符,轉義字符一般都是用反斜杠“\”開始,後面會有一個或者多個字符,這樣的話,轉義字符就有了能夠轉義的含義。簡單來說,轉義字元就把它看成一種特殊的字元常數。

轉義字元能夠將普通的字元轉換為特殊用途,用這些特殊的用途能夠能夠將字元轉換為它本來的意義。

想要使用轉義字元來轉換字串的話,其中需要注意的是,字串使用單引號或雙引號進行定義的,在字串中如果存在能夠幹擾字串定義的字符,這時候我們就需要將字串內可能有乾擾的字元進行轉義,這樣的話就能夠避免自負的定義出現歧義。

接下來我們透過範例來看一下透過轉義字元來轉義字串,範例如下:

當我們想要輸出:網址是:'https:// www.php.cn/' 的時候,如果單純地使用echo來輸出字串,其中的字元可能會影響最後的輸出結果導致錯誤,這時候透過轉義符就能夠避免這種問題:

<?php
header("Content-type:text/html;charset=utf-8");
echo &#39;网址是:\&#39;https://www.php.cn/\&#39;&#39;;
?>
登入後複製

輸出結果:

PHP中轉義字串的方法與還原(實例詳解)

這時候就是我們透過轉義符號將字串轉義,這樣的話就能夠輸出我們想要的結果了。

這種手動進行轉義,適用於一些簡單的字串,當字串很複雜的時候,或者字串很長,這時候再使用轉義字元進行手動轉義就有些麻煩了,那有沒有什麼好的解決方法呢?

在PHP中提供了addslashes() 函數和stripslashes() 函數能夠對字串進行自動轉義,下面就讓我們來看一下。

<strong><span style="max-width:90%">addslashes() </span></strong>#函數-自動轉義字串

PHP中提供addslashes()函數是用來進行自動轉義,透過addslashes()函數能夠在字串中的預定義字元之前加入一個反斜線“\”,其中這個預定義字元就包括單引號、雙引號和反斜線。

該函數的基本語法格式如下:

addslashes(string)
登入後複製

其中需要注意的是,參數string表示的就是需要進行轉義的字串,傳回的結果就是已經進行轉義的字符串。

下面我們透過範例來看一下該函數的使用,範例如下:

<?php
$str = "[&#39;好好学习&#39;=>&#39;天天向上&#39;,&#39;福如东海&#39;=>寿比南山]";
echo $str . "<br>";
$a = addslashes($str);
echo $a . "<br>";
?>
登入後複製

輸出結果:

PHP中轉義字串的方法與還原(實例詳解)

##可以簡單的理解為在需要進行轉義的字元前面加上反斜杠,

<strong>stripslashes()<span style="max-width:90%"></span></strong># # 函數-還原字串上文中我們說到了在PHP中我們可以透過

addslashes

() 函數來進行轉義操作,也就是在指定的位置加入反斜杠,與之對應的就是stripslashes()函數,它的作用就是用來還原字串,刪除由addslashes() 函數加入反斜線。 stripslashes() 函數的基本語法格式如下:

stripslashes(string)
登入後複製

其中需要注意的是,參數string表示的就是需要進行操作的字串,傳回的結果就是已經刪除掉反斜槓的字串。

接下來我們透過範例來看stripslashes() 函數的應用,範例如下:

<?php
$str = "[&#39;好好学习&#39;=>&#39;天天向上&#39;,&#39;福如东海&#39;=>寿比南山]";
echo $str . "<br>";
$a = addslashes($str);
echo $a . "<br>";
$b = stripslashes($a);
echo $b . "<br>";
?>
登入後複製

輸出結果:


##

透過上述範例我們便是透過stripslashes() 函數還原了因addslashes() 函數而進行轉義的字串。

透過addslashes() 函數和 stripslashes() 函數便能夠完成字串的轉義與還原了。

大家如果有興趣的話,可以點選《PHP影片教學》進行更多關於PHP知識的學習。

以上是PHP中轉義字串的方法與還原(實例詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:PHP,字符转义
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!