php数据字符转义 php转义字符怎么使用

如何将字符在PHP中的进行转义

1、substr(源字符串,其实位置[,长度])-截取字符串返回部分字符串2、mb_substr(),使用方法和substr相同,不过要开启php.ini里面extension=php_mbstring.dll扩展,不用担心,一般的空间商都会开启这个扩展的。

成都创新互联公司是一家专业提供新安企业网站建设,专注与做网站、网站建设html5、小程序制作等业务。10年已为新安众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

楼主看明白了没有,如果还不懂就去后盾人多看看吧,最近他们在搞什么活动学费九折还包住宿

如何在PHP中转义正则表达式字符

在PHP中,实现转义正则表达式字符的函数是:preg_quote函数。语法如下:

Stringpreg_quote(stringstr[,stringdelimiter])

Str是用来进行字符转义的正则表达式,delimiter是其他需要转义的字符。

在PHP中可以使用preg_quote函数转义一些特殊字符。

例如:

?php

$str=preg_quote(“/\d{3}(\-\d{4})/”);echo$str;?

结果:

/\\d\{3\}\-d{4}\-d{4}/

?php

$str=preg_quote(“/\d{3}(\-\d{4})/”,”3“);echo$str;?

结果:

/\\d\{\3\}\-d{4}\-d{4}/

这两个例子有什么区别呢?

就是红色区域中的“3”,在第二个例子中将“3”也转义出了。

php转义字符

用来表示一些如法输入的字符,或者输入后不明显,或者容易被编辑器替换的字符。

例如:

\r表示回车

\n表示换行

\$表示一个$符号,直接在PHP的字符串里面写$容易被误会为变量。

如何自动转义字符串在PHP SQL查询

在处理MySQL和GET、POST的数据时,常常要对数据的引号进行转义操作。

PHP中有三个设置可以实现自动对’(单引号),”(双引号),\(反斜线)和 NULL 字符转转。

php称之为魔术引号,这三项设置分别是

magic_quotes_gpc

影响到 HTTP 请求数据(GET,POST 和 COOKIE)。不能在运行时改变。在 PHP 中默认值为 on。

这个开启时,通过GET,POST,COOKIE传递的数据会自动被转义。

如 test.php?id=abc'de"f

echo $_GET['id']; # 会得到 abc\'de\"f

magic_quotes_gpc=On; 这个开启了,对写入数据库是没有影响的,比如 上面的$_GET['id'] 写到数据库里面,依然是 abc'de"f ,

相反,如果magic_quotes_gpc=Off; 那么字符中要带有引号(不管单引号还是双引号) ,直接写入mysql都会直接变成空白

但是,如果你将它写入文档,而非mysql。那么它将是 abc\'de\"f

magic_quotes_runtime

如果打开的话,大部份从外部来源取得数据并返回的函数,包括从数据库和文本文件,所返回的数据都会被反斜线转义。该选项可在运行的时改变,在 PHP 中的默认值为 off。

magic_quotes_sybase

如果打开的话,将会使用单引号对单引号进行转义而非反斜线。此选项会完全覆盖 magic_quotes_gpc。如果同时打开两个选项的话,单引号将会被转义成 ”。而双引号、反斜线 和 NULL 字符将不会进行转义。

我表单内容本来是:img alt=”" width=”400″ height=”300″ src=”/Upfiles/201105/images/1306657040.jpg” /

img alt=\”\” width=\”400\” height=\”300\” src=\”/Upfiles/201105/images/1306657040.jpg\” /

对策一:修改php.ini文件(修改php.ini这个方法就不说了,大家可以google下)

对策二:把转义的给取消了

第一步:找到你提交的数据比如$_POST['content'],将其改成$content=stripslashes($_POST['content']);

第二步:以后在使用$POST['content']的地方都换成$content

第三步:提交到数据库,数据库储存还是正常的:img alt=”" width=”400″ height=”300″ src=”/Upfiles/201105/images/1306657040.jpg” /读出来又成了

img alt=\”\” width=\”400\” height=\”300\” src=\”/Upfiles/201105/images/1306657040.jpg\” /(这个应该知道怎么解决了吧?要不我再罗嗦下吧)

第四步:将数据库读取的内容再用stripslashes()过滤一下。

stripslashes() 这个函数 ,删除由addslashes()函数添加的反斜杠。用于清理从数据库或 HTML 表单中取回的数据

PHP页面中如果不希望出现以下情况:

单引号被转义为 \'

双引号被转义为 \"

那么可以进行如下设置以防止:

在php.ini中设置:magic_quotes_gpc = Off)

总结如下:

1. 对于magic_quotes_gpc=on的情况,

我们可以不对输入和输出数据库的字符串数据作

addslashes()和stripslashes()的操作,数据也会正常显示。

如果此时你对输入的数据作了addslashes()处理,

那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。

2. 对于magic_quotes_gpc=off 的情况

必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出

因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行。

文章题目:php数据字符转义 php转义字符怎么使用
本文地址:https://www.cdcxhl.com/article16/dddpcgg.html

成都网站建设公司_创新互联,为您提供软件开发电子商务网站设计公司面包屑导航定制开发网站维护

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都app开发公司