首頁 後端開發 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脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++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()函數:如何將字串中的特殊字元轉義為正規表示式字符

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

XSS攻擊的防護措施和安全實踐

了解PHP中的htmlspecialchars()函數用於轉義HTML特殊字符 了解PHP中的htmlspecialchars()函數用於轉義HTML特殊字符 Nov 18, 2023 pm 04:19 PM

了解PHP中的htmlspecialchars()函數用於轉義HTML特殊字符

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

PHP程式設計中常用的正規表示式轉義技巧

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

PHP語言開發中如何處理單引號、雙引號和反斜線錯誤的轉義問題?

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

GO語言字串轉義與反轉義的實戰應用

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

解密MyBatis中小於等於轉義字元的奧秘

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

PHP正規表示式轉義:詳解轉義字元的作用

See all articles