php字符转义注意事项
今天碰到一个处理文件特殊字符的事情,再次注意到这个问题.
在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入门教程】

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP中的preg_quote()函数:如何将字符串中的特殊字符转义为正则表达式字符,需要具体代码示例在开发中,我们经常会使用到正则表达式来匹配和处理字符串。然而,有些字符串中可能含有一些特殊字符,比如正则表达式中的元字符,它们具有特殊的意义,导致正则表达式无法正常工作。为了解决这个问题,PHP提供了preg_quote()函数,用于将字符串中的特殊字符转义

XSS攻击的防护措施和安全实践概述跨站脚本攻击(XSS)是一种常见的安全漏洞,它利用了网站对用户输入的不充分验证和过滤。攻击者可以通过在网页中插入恶意脚本代码来窃取用户的敏感信息,如登录凭据、个人资料等。为了保护网站和用户的安全,我们需要采取一些防护措施和安全实践来防范这种攻击。输入验证和过滤首先,我们需要对用户输入进行验证和过滤,以确保输入的数据符合预期的

在PHP语言开发中,单引号、双引号和反斜杠都是常见的字符,但在处理字符串时,它们却可能会引起转义问题。下面将介绍如何处理这些问题,以确保PHP代码可以正确处理这些字符。单引号问题在PHP中,单引号用于表示字符串,但在单引号内使用单引号会产生转义问题。例如:$myString='I'maPHPdeveloper.';在上述例子中,使用反斜

Go语言字符串转义和反转义允许开发者指定不可显示字符或保留字符字面意思。转义使用反斜杠将特殊字符转换为转义序列,而反转义使用反引号恢复转义序列的原始值。理解这些操作对于处理包含特殊字符的文本至关重要,例如在不解析HTML标记的情况下将HTML标记转义为纯文本。

PHP编程中常用的正则表达式转义技巧,需要具体代码示例正则表达式在PHP编程中是非常常用的工具,通过正则表达式,我们可以在文本中进行快速的匹配、查找和替换操作。然而,在使用正则表达式时,有时候我们会遇到特殊字符需要进行转义处理,否则会出现意外的匹配结果。在本文中,我们将介绍PHP编程中常用的正则表达式转义技巧,并提供具体的代码示例。转义斜杠``在正则表达式中

使用PHP函数"mysqli_real_escape_string"转义字符串中的特殊字符,以避免SQL注入简介:在进行与数据库交互的网站开发过程中,我们常常需要将用户输入的数据存储到数据库中。然而,如果未对用户输入的数据进行处理,恶意用户可能会利用输入的数据进行SQL注入攻击,从而对数据库造成严重破坏。为了避免这种情况的发生,我们可以使用PHP函数"

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

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