<?php
$str = <<<EOT
<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>微信公众平台</title><link href="https://res.wx.qq.com/mpres/htmledition/images/favicon1e5b3a.ico" rel="Shortcut Icon"><link rel="stylesheet" type="text/css" href="https://res.wx.qq.com/mpres/htmledition/style/base/layout_head1f56cd.css"/><link rel="stylesheet" type="text/css" href="https://res.wx.qq.com/mpres/htmledition/style/base/base1f8f18.css"/><link rel="stylesheet" type="text/css" href="https://res.wx.qq.com/mpres/htmledition/style/base/lib1ec5f7.css"/><link rel="stylesheet" type="text/css" href="https://res.wx.qq.com/mpres/htmledition/style/page/setting/setting_common1ec5f7.css"/><link rel="stylesheet" type="text/css" href="https://res.wx.qq.com/mpres/htmledition/style/page/setting/setting_index1f46ee.css"/><link rel="stylesheet" type="text/css" href="https://res.wx.qq.com/mpres/htmledition/style/jquery.Jcrop.min1e5b3a.css"/><link rel="stylesheet" type="text/css" href="https://res.wx.qq.com/c/=/mpres/htmledition/style/widget/upload1f8f05.css,/mpres/htmledition/style/widget/processor_bar1ec663.css" /></head><body class="zh_CN"><div class="main_bd"><div class="account_setting_area" id="settingArea"><ul><li class="account_setting_item"><h4>名称</h4><div class="meta_opr"></div><div class="meta_content">青鸢</div></li><li class="account_setting_item"><h4>头像</h4><div class="meta_opr"><a id="changeHeadImg" href="javascript:;">修改头像</a><p class="desc">(一个月内只能申请修改一次)</p></div><div class="meta_content"><img class="avatar" src="/misc/getheadimg?token=1388&fakeid=3084&r=269391" /></div></li><li class="account_setting_item"><h4>登录邮箱</h4><div class="meta_opr"><p><a href="/acct/updateboundemail?t=setting/bind-email&action=bind&token=138856269&step=1&lang=zh_CN">修改</a></p><p class="desc">(一个月内只能申请修改一次)</p></div><div class="meta_content">aaaa@163.com</div></li><li class="account_setting_item"><h4>原始ID</h4><div class="meta_opr"></div><div class="meta_content"><span>gh_00aec11d9</span></div></li><li class="account_setting_item"><h4>微信号</h4><div class="meta_opr"></div><div class="meta_content"><span>aaaa_163</span></div></li><li class="account_setting_item"><h4>类型</h4><div class="meta_opr"></div><div class="meta_content">订阅号</div></li><li class="account_setting_item"><h4>认证情况</h4><div class="meta_opr verify"><a href="javascript:;" id="Js_weiboVerify">关联微博认证</a><a href="/merchant/store?action=detail&t=wxverify/detail&info=verify&lang=zh_CN&token=1388">申请微信认证</a></div><div class="meta_content">未认证</div></li><li class="account_setting_item"><h4>介绍</h4><div class="meta_opr"><p><a id="modifyUserInfo" href="javascript:;" class="">修改</a></p><p class="desc">(一个月内功能介绍只能申请修改一次)</p></div><div class="meta_content">php学习交流</div></li><li class="account_setting_item"><h4>所在地址</h4><div class="meta_opr"><a href="/cgi-bin/settingpage?action=sosomap&lang=zh_CN&token=138856269">设置</a></div><div class="meta_content"></div></li><li class="account_setting_item"><h4>二维码</h4><div class="meta_opr"><a id="more_size" href="javascript:;">更多尺寸</a></div><div class="meta_content"><a target="_blank" class="verifyInfo" title="点击下载" href="/misc/getqrcode?fakeid=3088921&token=1388&style=1&action=download"><img src="/misc/getqrcode?fakeid=3084389217&token=1388&style=1" width="150" /></a></div></li></ul></div></div></div></div><div class="faq"><ul class="links"><li class="links_item no_extra"><a href="http://crm2.qq.com/page/portalpage/wpa.php?uin=40012345&f=1&ty=1&ap=000011:400792:|m:12|f:400792:m:12" target="_blank">在线客服</a></li><li class="links_item"><a href="http://kf.qq.com/product/weixinmp.html" target="_blank">客服中心</a></li></ul><p class="tail">反馈官号weixingongzhong</p></div></div></body></html>
EOT;preg_match_all("/<li class=\"account_setting_item\">\s*?<h4>(.*?)<\/h4>[\s\S]*?<div class=\"meta_content\">([\s\S]*?)<\/div>/",$str,$out);
//var_dump($out);die;
foreach ( $out [1] as $key=>$val ) {$arr [] = array('key'=>$val,'val'=>trim ( $out[2][$key] ));
}
if (count($arr) > 0) {foreach ($arr as $k=>$v){switch ($v['key']){case '原始ID':$arr['openid'] = preg_replace("/<span>(.*?)<\/span>/", "$1", $v['val']);break;case '微信号':$arr['account'] = preg_replace("/<span>(.*?)<\/span>/", "$1", $v['val']);break;case '名称':$arr['wx_name'] = $v['val'];break;case '类型':$arr['type'] = ($v['val']=='服务号') ? 1 : 0;break;case '认证情况':$arr['verify'] = strpos($v['val'],"icon_verify_checked")?1:2;default:$arr[$v['key']] = $v['val'];}}//return $arr;
}   var_dump($arr);die;
?>

输出:

array (size=21)0 => array (size=2)'key' => string '名称' (length=6)'val' => string '青鸢' (length=6)1 => array (size=2)'key' => string '头像' (length=6)'val' => string '<img class="avatar" src="/misc/getheadimg?token=1388&fakeid=3084&r=269391" />' (length=77)2 => array (size=2)'key' => string '登录邮箱' (length=12)'val' => string 'aaaa@163.com' (length=12)3 => array (size=2)'key' => string '原始ID' (length=8)'val' => string '<span>gh_00aec11d9</span>' (length=25)4 => array (size=2)'key' => string '微信号' (length=9)'val' => string '<span>aaaa_163</span>' (length=21)5 => array (size=2)'key' => string '类型' (length=6)'val' => string '订阅号' (length=9)6 => array (size=2)'key' => string '认证情况' (length=12)'val' => string '未认证' (length=9)7 => array (size=2)'key' => string '介绍' (length=6)'val' => string 'php学习交流' (length=15)8 => array (size=2)'key' => string '所在地址' (length=12)'val' => string '' (length=0)9 => array (size=2)'key' => string '二维码' (length=9)'val' => string '<a target="_blank" class="verifyInfo" title="点击下载" href="/misc/getqrcode?fakeid=3088921&token=1388&style=1&action=download"><img src="/misc/getqrcode?fakeid=3084389217&token=1388&style=1" width="150" /></a>' (length=214)'wx_name' => string '青鸢' (length=6)'头像' => string '<img class="avatar" src="/misc/getheadimg?token=1388&fakeid=3084&r=269391" />' (length=77)'登录邮箱' => string 'aaaa@163.com' (length=12)'openid' => string 'gh_00aec11d9' (length=12)'account' => string 'aaaa_163' (length=8)'type' => int 0'verify' => int 2'认证情况' => string '未认证' (length=9)'介绍' => string 'php学习交流' (length=15)'所在地址' => string '' (length=0)'二维码' => string '<a target="_blank" class="verifyInfo" title="点击下载" href="/misc/getqrcode?fakeid=3088921&token=1388&style=1&action=download"><img src="/misc/getqrcode?fakeid=3084389217&token=1388&style=1" width="150" /></a>' (length=214)

转载于:https://www.cnblogs.com/moqiang02/p/4061111.html

preg_match_all使用实例相关推荐

  1. php如何实现读取网易有道词典输出单词的xml格式并且转化为html形式

    php实现读取网易有道词典输出单词的xml格式并且转化为html形式 一.总结 一句话总结:将xml中的文件用preg_match_all读出来,然后组合成想要的数据 1.explode除了爆炸的意思 ...

  2. php基本语法 格式,PHP 基本语法格式

    PHP 基本语法格式 标准代码如下: 复制代码 代码如下: ... ?> 短标签模式(此模式需要修改PHP配置,让PHP支持短标签模式): 复制代码 代码如下: ... ?> 注释: 复制 ...

  3. 前端开发基础知识汇总

    一.HTML 1.前言与常用标签 浏览器 内核 备注 IE Trident IE.猎豹安全.360极速浏览器.百度浏览器 firefox Gecko 可惜这几年已经没落了,打开速度慢.升级频繁.猪一样 ...

  4. Spring Cloud微服务系统架构的一些简单介绍和使用

    Spring Cloud 目录 特征 云原生应用程序 Spring Cloud上下文:应用程序上下文服务 引导应用程序上下文 应用程序上下文层次结构 改变Bootstrap的位置Properties ...

  5. curl学习(实例不断总结)

    1.先来一个简单的案例,请求http协议的网站// 初始化一个 cURL 对象 $curl = curl_init();// 设置你需要抓取的URL curl_setopt($curl, CURLOP ...

  6. php针对中文的字符串函数,php截取中文字符串函数实例_php技巧

    本文实例讲述了php截取中文字符串函数.分享给大家供大家参考.具体实现方法如下: 代码如下: //中文字符串截取 function substr_zh($string,$sublen,$start=0 ...

  7. PHP匹配函数怎么用,php preg_match_all函数怎么用

    php preg_match_all函数用于执行一个全局正则表达式匹配,返回完整匹配次数(可能是0),或者如果发生错误返回FALSE. php preg_match_all函数怎么用? preg_ma ...

  8. php正则表达式实例详解,正则表达式实例解析

    正则表达式实例解析 类别: 技术 时间:2016-06-02 10:14:14 字数:6253 版权所有,未经允许,请勿转载,谢谢合作~ ### 前言 正则表达式(regular expression ...

  9. php正则运用,php中常用的正则表达式的介绍及应用实例代码

    更全面的实例,可以参考 最常用的PHP正则表达式收集整理 //www.jb51.net/article/14049.htm php 正则表达式小结 //www.jb51.net/article/198 ...

最新文章

  1. ⑨③-不能浪费拥有的年轻资本
  2. 区块链系列4-智能合约
  3. mysql分页的优势_数据库经典分页几种实例及各优缺点
  4. 解决报错OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
  5. 一次绕过360+诺顿的提权过程
  6. JVM——类文件结构
  7. NYOJ 289 苹果(01背包)
  8. 总结python处理图片等比例压缩与质量处理的方法
  9. 请简述什么是spring的ioc和di_小编Spring是什么、spring容器、IOC和DI
  10. codevs1842 递归第一次
  11. 机器学习笔记(《统计学习方法》李航and《机器学习》周志华)
  12. siamfc代码解读_SiamFC用于目标跟踪的全卷积孪生网络 fully-convolutional siame
  13. 网络安全技术连载(7)网络安全技术实例分析
  14. react todos 简单实现
  15. linux系统下文件误删除该如何恢复?
  16. CIKM 2019 挑战杯「用户行为预测」冠军方案:层次GNN模型在推荐中的应用
  17. win7命名计算机无法下一步,win7还原系统不能点下一步怎么办(无响应)
  18. 弟子规python编程游戏_弟子规入则孝_读后感
  19. 文件被占用无法删除,解决办法
  20. MYSQL学习思维导图

热门文章

  1. Golang实践录:反射reflect的一些研究及代码汇总
  2. Qt实践录:常见控件操作示例2
  3. 嵌入式Linux入门11:应用层编程应用和分类
  4. Oracle的SQL基础之用户与表空间
  5. Eclipse创建springboot项目的方式
  6. 【java】 java 反序列化过滤器 ObjectInputFilter
  7. 【Elasticsearch】揭秘 Elasticsearch 分片分配
  8. 【Zookeeper】查看ZK连接总数
  9. 【Spring】Spring 深入理解注解及spring对注解的增强
  10. 【JVM】ZGC简介