• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > PHP开发 > php正则表达式(三):php的7个正则函数

    php正则表达式(三):php的7个正则函数

    作者: 分类:PHP开发 点击: 369 次
    wordpress CMS主题:ssmay主题

      在前面的章节中,我们介绍了php正则表达式的元素php正则表达式的分组、贪婪、懒惰,这些在php使用正则时,都是非常实用的 。但是,正则元素和分组等再实用,如果没有php正则表达式的函数来使用它们,它们就一无是处的。下面,我们就一起来看一下php的7个正则函数。

      1、搜索字符串:preg_grep()函数

      preg_grep()函数,搜索数组中的所有元素,返回与某个模式匹配的所有元素组成的数组。

      $language = array('php','asp','jsp','python','ruby');
      print_r(preg_grep("/p$/",$language));

      显示: Array ( [0] => php [1] => asp [2] => jsp )

      2、搜索匹配模式:preg_match()函数

      preg_match()函数 在字符串中搜索模式,如果存在则返回 true,否则返回 false。

      电子邮件验证小案例(分组应用)

      $mode = '/([\w\.\_]{2,10})@(\w{1,}).([a-z]{2,4})/';
      $string = 'yc60.com@gmail.com';
      echo preg_match($mode,$string);

      3、匹配模式的所有出现:preg_match_all()函数

      preg_match_all()函数,在字符串中匹配模式的所有出现,然后将所有匹配到的全部放入数组。

      preg_match_all('/php[1-6]/','php5sdfphp4sdflljkphp3sdlfjphp2',$out);
      print_r($out);

      会生成如下一个二维数组:

      Array ( [0] => Array ( [0] => php5 [1] => php4 [2] => php3 [3] => php2 ) )

      4、定界特殊的正则表达式:preg_quote()

      preg_quote()在每个对于正则表达式语法而言有特殊含义的字符前插入一个反斜线。这些特殊字符包含:$ ^ * () + = {} [] | \\ : <>。

      5、替换模式的所有出现:preg_replace()函数

      preg_replace()函数搜索到所有匹配,然后替换成想要的字符串返回出来。

      echo preg_replace('/php[1-6]/','python','This is a php5,This is a php4');

      替换后,会生成如下:

      This is a python,This is a python

      ubb 小案例:贪婪问题+分组使用():

      $mode = '/\[b\](.*)\[\/b\]/U';
      $replace = '<strong>\1</strong>';
      $string = 'This is a [b]php5[/b],This is a [b]php4[/b]';
      echo preg_replace($mode,$replace,$string);

      6、以不区分大小写的方式将字符串划分为不同的元素:preg_split()用来分割不同的元素。

      以 .和@ 来分解 邮箱

      print_r(preg_split('/[\.@]/','yc60.com@gmail.com'));

      生成效果如下:

      Array ( [0] => yc60 [1] => com [2] => gmail [3] => com )

    文章作者:honor
    本文地址:http://wanlimm.com/77201807296296.html
    本文时间:2018-07-29 08:17:25
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.