首页 后端开发 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.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 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()函数:如何将字符串中的特殊字符转义为正则表达式字符,需要具体代码示例在开发中,我们经常会使用到正则表达式来匹配和处理字符串。然而,有些字符串中可能含有一些特殊字符,比如正则表达式中的元字符,它们具有特殊的意义,导致正则表达式无法正常工作。为了解决这个问题,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编程中常用的正则表达式转义技巧,并提供具体的代码示例。转义斜杠``在正则表达式中

使用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函数"

解密MyBatis中小于等于转义字符的奥秘 解密MyBatis中小于等于转义字符的奥秘 Feb 21, 2024 pm 10:06 PM

标题:解密MyBatis中小于等于转义字符的奥秘在使用MyBatis进行数据库操作时,经常会遇到需要查询小于等于某个值的情况。在SQL语句中,小于等于的条件通常使用“

了解PHP中的htmlspecialchars()函数用于转义HTML特殊字符 了解PHP中的htmlspecialchars()函数用于转义HTML特殊字符 Nov 18, 2023 pm 04:19 PM

了解PHP中的htmlspecialchars()函数用于转义HTML特殊字符PHP中的htmlspecialchars()函数是一种常用的字符串处理函数,用于将HTML特殊字符转换为对应的实体。这样做的目的是为了避免在HTML页面中出现语法错误或安全漏洞,同时也可以确保用户输入的数据在页面上正确显示。在很多情况下,我们需要将用户输入的数据作为HTML代码的

See all articles