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

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

操作方式

  • 01

    起首我们界说一个字符串,字符串的前面字符是一个正常的空格,字符串的后面字符是一个包罗特别字符的空格。
    然后用trim方式将字符串的前后空格去失落。再加上一些输出代码,如图

  • 02

    运行这个php页面,从页面成果上可以看到原字符颠末trim方式后,当作功把字符前的正常空格去失落了,但字符后面的特别空格并没有去除失落。

  • 03

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

  • 04

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

  • 05

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

  • 06

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

  • 07

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

  • End
  • 发表于 2018-01-19 00:00
  • 阅读 ( 901 )
  • 分类:电脑网络

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具