IT技术

当前位置 /首页/游戏数码/IT技术/列表

PHP如何利用正则替换非法字符?

在php开发中,遇到一个字符串带有一个特殊符号的空格,用trim方法清理不掉这个空格。怎么办?我们可以利用正则表达式来替换这些非法字符,下面来看下。

操作方法

(01)首先我们定义一个字符串,字符串的前面字符是一个正常的空格,字符串的后面字符是一个包括特殊字符的空格。然后用trim方法将字符串的前后空格去掉。再加上一些输出代码,如图

PHP如何利用正则替换非法字符?

(02)运行这个php页面,从页面结果上可以看到原字符经过trim方法后,成功把字符前的正常空格去掉了,但字符后面的特殊空格并没有去除掉。

PHP如何利用正则替换非法字符? 第2张

(03)那么怎样才能把这些特殊字符去掉?可以使用正则表达式。首先我们定义一个正则表达式:$reg = '/[^0-9a-z]/'

PHP如何利用正则替换非法字符? 第3张

(04)这个正则是什么意思?中括号里的字符是能匹配出来的字符,即0到9的数字和a到z的字母数字是都可以匹配出来的,但如果加上了^符号,就是相反的意思。即是除了0-9数字和a-z的字母外的所有字符能匹配查找出来。

PHP如何利用正则替换非法字符? 第4张

(05)然后调用php内置的preg_replace方法把所有其他的字符替换掉,该方法就是传入正则表达式,然后把正则表达匹配出来的字符(上面的是所有非数字和字母的字符)替换成‘’(即空字符串),也就是删除了非数字和字母的字符。

PHP如何利用正则替换非法字符? 第5张

(06)再次运行页面,可以看到现在字符的前后空格都没有了,都被去除了。

PHP如何利用正则替换非法字符? 第6张

(07)preg_replace还有另外一个重要的参数,第四个参数,limit,这是做什么用的?当你在替换字符串时,有时并不需要替换所有的不需要的字符,只需要替换前面的某几个,比如2个,或3个,我们就需要使用这个参数了,传入2或3。这个参数默认是-1,即全部替换。

PHP如何利用正则替换非法字符? 第7张
TAG标签:PHP 正则 字符 替换 非法 #