PHP正则匹配操作简单示例【preg_match_all应用】

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP正则匹配操作。分享给大家供大家参考,具体如下:

<?php
$str = <<< EOT
        <a href="www/app/a/2QRN7v" rel="external nofollow" >
          <div class="phonebg">
            <img src="/zb_users/upload/202003/lyjxkpfo0sv.jpg" >
            <div class="phoneclick"></div>
            <p>幸福领地</p>
          </div>
        </a>
        <a href="www/app/a/uqARNv" rel="external nofollow" >
          <div class="phonebg">
            <img src="/zb_users/upload/202003/0o1xz5w04ty.jpg" >
            <div class="phoneclick"></div>
            <p>一世情长</p>
          </div>
        </a>
EOT;
if(preg_match_all('%<p.*?>(.*?)</p>%si', $str, $matches)) {
  $arr[0][] = $matches[1];
}
if(preg_match_all('/src="([^<]*)" >/i', $str, $matches)) {
  $arr[1][] = $matches[1];
}
print_r($arr);
exit;
?>

运行结果如下:

Array
(
  [0] => Array
    (
      [0] => Array
        (
          [0] => 幸福领地
          [1] => 一世情长
        )
    )
  [1] => Array
    (
      [0] => Array
        (
          [0] => http://www/template9/yunqingjian/jianjie/68.jpg
          [1] => http://www/template9/yunqingjian/jianjie/69.jpg
        )
    )
)

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

深入PHP数据加密详解

数据加密在我们生活中的地位已经越来越重要了,尤其是考虑到在网络上发生的大量 交易和传输的大量数据。如果对于采用安全措施有兴趣的话,也一定会有兴趣了解PHP提供的一系列安全功能。在本篇文章...

php不用内置函数对数组排序的两个算法代码

一朋友找工作遇到的试题,备注一下。 极有可能今后我也会遇到的。 问题:php不用内置函数对数组排序,可能是降序或者升序 第一种方法:传说中的冒泡法 复制代码 代码如下: function...

php使用$_POST或$_SESSION[]向js函数传参

在php编程中向js函数传参可以使用$_POST也可使用$_SESSION[' '],也可用echo语句进行输出 复制代码 代码如下: <?php echo "<s...

使用php实现网站验证码功能【推荐】

验证码是网站常用的一项安全措施,也是新人站长较难掌握的一项技能,这里我向大家介绍一简单有效的验证码实现方法。 开始之前 在正式开始之前我们需要打开php的gd2图形库支持(在php.in...

解决ajax+php中文乱码的方法详解

解决ajax+php中文乱码的方法详解

中文如果用表单提交的话,不会出现乱码,而用ajax提交就会出现乱码,这是什么原因呢?我的理解是,我在写源码的时候,一般用记事本写,保存的时候默认用ANSI编码,源码中也没有用“<m...