首頁 後端開發 php教程 php字元轉義注意事項

php字元轉義注意事項

Jul 29, 2016 am 08:39 AM
轉義

今天碰到一个处理文件特殊字符的事情,再次注意到这个问题.

在php中:

* 以单引号为定界符的php字符串,支持两个转义\'和\\

* 以双引号为定界符的php字符串,支持下列转义:

\n 换行(LF 或 ASCII 字符 0x0A(10))

\r 回车(CR 或 ASCII 字符 0x0D(13))

\t 水平制表符(HT 或 ASCII 字符 0x09(9))

\\ 反斜线

\$ 美元符号

\" 双引号

\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符

\x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符号表示的字符

举几个例子:

一个包含\0特殊字符的例子:

$str = "ffff\0ffff";
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
登入後複製

输出结果:

----------------------

9

102 102 102 102 0 102 102 102 102

替换特殊字符的例子

$str = "ffff\0ffff";
$str = str_replace("\x0", "", $str);
//或者用$str = str_replace("\0", "", $str);
//或者用$str = str_replace(chr(0), "", $str);
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
登入後複製

输出结果:

----------------------

8

102 102 102 102 102 102 102 102

八进制ascii码例子:

//注意,符合正则\[0-7]{1,3}的字符串,表示一个八进制的ascii码。

$str = "\0\01\02\3\7\10\011\08\8"; //这里的\8不符合要求,被修正为"\\8" (ascii为92和56)
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
登入後複製

输出结果:

----------------------

11

0 1 2 3 7 8 9 0 56 92 56

十六进制ascii码例子:

$str = "\x0\x1\x2\x3\x7\x8\x9\x10\x11\xff";
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
登入後複製

输出结果:

----------------------

10

0 1 2 3 7 8 9 16 17 255

【推荐阅读:php入门教程

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP中的preg_quote()函數:如何將字串中的特殊字元轉義為正規表示式字符 PHP中的preg_quote()函數:如何將字串中的特殊字元轉義為正規表示式字符 Nov 04, 2023 pm 02:15 PM

PHP中的preg_quote()函數:如何將字串中的特殊字符轉義為正則表達式字符,需要具體代碼示例在開發中,我們經常會使用到正則表達式來匹配和處理字符串。然而,有些字串中可能含有一些特殊字符,例如正規表示式中的元字符,它們具有特殊的意義,導致正規表示式無法正常運作。為了解決這個問題,PHP提供了preg_quote()函數,用於將字串中的特殊字元轉義

XSS攻擊的防護措施和安全實踐 XSS攻擊的防護措施和安全實踐 Aug 10, 2023 pm 02:39 PM

XSS攻擊的防護措施和安全實踐概述跨站腳本攻擊(XSS)是一種常見的安全漏洞,它利用了網站對使用者輸入的不充分驗證和過濾。攻擊者可以透過在網頁中插入惡意腳本程式碼來竊取使用者的敏感訊息,如登入憑證、個人資料等。為了保護網站和使用者的安全,我們需要採取一些防護措施和安全實務來防護這種攻擊。輸入驗證和過濾首先,我們需要對使用者輸入進行驗證和過濾,以確保輸入的資料符合預期的

PHP語言開發中如何處理單引號、雙引號和反斜線錯誤的轉義問題? PHP語言開發中如何處理單引號、雙引號和反斜線錯誤的轉義問題? Jun 11, 2023 pm 05:33 PM

在PHP語言開發中,單引號、雙引號和反斜線都是常見的字符,但在處理字串時,它們可能會造成轉義問題。以下將介紹如何處理這些問題,以確保PHP程式碼可以正確處理這些字元。單引號問題在PHP中,單引號用來表示字串,但在單引號內使用單引號會產生轉義問題。例如:$myString='I'maPHPdeveloper.';在上述例子中,使用反斜

GO語言字串轉義與反轉義的實戰應用 GO語言字串轉義與反轉義的實戰應用 Apr 07, 2024 pm 10:48 PM

Go語言字串轉義和反轉義允許開發者指定不可顯示字元或保留字元字面意思。轉義使用反斜線將特殊字元轉換為轉義序列,而反轉義則使用反引號來恢復轉義序列的原始值。理解這些操作對於處理包含特殊字元的文字至關重要,例如在不解析HTML標記的情況下將HTML標記轉義為純文字。

PHP程式設計中常用的正規表示式轉義技巧 PHP程式設計中常用的正規表示式轉義技巧 Mar 20, 2024 am 09:00 AM

PHP程式設計中常用的正規表示式轉義技巧,需要具體程式碼範例正規表示式在PHP程式設計中是非常常用的工具,透過正規表示式,我們可以在文字中進行快速的匹配、尋找和取代操作。然而,在使用正規表示式時,有時我們會遇到特殊字元需要進行轉義處理,否則會出現意外的匹配結果。在本文中,我們將介紹PHP程式設計中常用的正規表示式轉義技巧,並提供具體的程式碼範例。轉義斜杠``在正規表示式中

解密MyBatis中小於等於轉義字元的奧秘 解密MyBatis中小於等於轉義字元的奧秘 Feb 21, 2024 pm 10:06 PM

標題:解密MyBatis中小於等於轉義字元的奧秘在使用MyBatis進行資料庫操作時,經常會遇到需要查詢小於等於某個值的情況。在SQL語句中,小於等於的條件通常使用“

使用PHP函數 'mysqli_real_escape_string' 轉義字串中的特殊字符,以避免SQL注入 使用PHP函數 'mysqli_real_escape_string' 轉義字串中的特殊字符,以避免SQL注入 Jul 25, 2023 am 09:41 AM

使用PHP函數"mysqli_real_escape_string"轉義字串中的特殊字符,以避免SQL注入簡介:在進行與資料庫互動的網站開發過程中,我們常常需要將使用者輸入的資料儲存到資料庫中。然而,如果未對使用者輸入的資料進行處理,惡意使用者可能會利用輸入的資料進行SQL注入攻擊,對資料庫造成嚴重破壞。為了避免這種情況的發生,我們可以使用PHP函數"

PHP正規表示式轉義:詳解轉義字元的作用 PHP正規表示式轉義:詳解轉義字元的作用 Mar 19, 2024 pm 02:18 PM

PHP正規表示式轉義:詳解轉義字元的作用在PHP中,正規表示式是一種強大的工具,用於在文字中尋找、取代特定的內容。而在使用正規表示式時,常會遇到需要轉義特殊字元的情況。本文將詳細介紹PHP中正規表示式轉義的作用,以及具體的程式碼範例。轉義字元的作用在正規表示式中,有一些字元具有特殊的意義,例如.、、`*`等。如果我們想要匹配這些特殊字元本身而不是它們的特殊含

See all articles