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

在php开发中 , 遇到一个字符串带有一个特殊符号的空格 , 用trim方法清理不掉这个空格 。 怎么办?我们可以利用正则表达式来替换这些非法字符 , 下面来看下 。 操作方式 01 起首我们界说一个字符串 , 字符串的前面字符是一个正常的空格 , 字符串的后面字符是一个包罗特别字符的空格 。
然后用trim方式将字符串的前后空格去失落 。 再加上一些输出代码 , 如图

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



02 【PHP如何利用正则替换非法字符?】运行这个php页面 , 从页面成果上可以看到原字符颠末trim方式后 , 当作功把字符前的正常空格去失落了 , 但字符后面的特别空格并没有去除失落 。

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



03 那么如何才能把这些特别字符去失落?
可以利用正则表达式 。 起首我们界说一个正则表达式:
reg = '/[^0-9a-z]/'

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



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

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



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

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



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

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



07 preg_replace还有别的一个主要的参数 , 第四个参数 , limit , 这是做什么用的?当你在替代字符串时 , 有时并不需要替代所有的不需要的字符 , 只需要替代前面的某几个 , 好比2个 , 或3个 , 我们就需要利用这个参数了 , 传入2或3 。 这个参数默认是-1 , 即全数替代 。

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





以上内容就是PHP如何利用正则替换非法字符?的内容啦 , 希望对你有所帮助哦!

    猜你喜欢