分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

php正则匹配类

发布时间:2023-09-06 01:58责任编辑:彭小芳关键词:正则
  • 代码:
    /*** @desc:正则匹配类* @author [Lee] <[<complet@163.com>]>* @method* 1、geturl ????????获取所有超链接* 2、getimg ????????获取所有图片* 3、getaudio ??????????获取所有音频文件* 4、getvideo ??????????获取所有视频文件* 5、getparagraph ??????获取所有段落* 6、getuser ???????????获取自定义内容 ????????preg 自定义正则,如:/<h1>(.*)<h1>/Ui*/class match{private $content = ‘‘;/* @desc:构造方法,初始化待匹配文本 */public function __construct($content){ ???$this->content = $content;}/* @desc:获取所有超链接 @return:所有匹配的超链接 */public function geturl(){ ???$content = $this->content; ???$preg = ‘/<[a|A].*?href=[\‘\"]{0,1}([^>\‘\"\ ]*).*?>/i‘; ???$bool = preg_match_all($preg,$content,$res); ???$urls = array(); ???if($bool){ ???????$urls = $res[1]; ???} ???return array_unique($urls);}/* @desc:获取所有图片 @return:所有匹配的图片 */public function getimg(){ ???$content = $this->content; ???$preg="/(src)=(\\\?)([\"|‘]?)([^ \"‘>]+\.(gif|jpg|jpeg|bmp|png|svg))\\2\\3/i"; ???$bool = preg_match_all($preg,$content,$res); ???$imgs = array(); ???if($bool){ ???????$imgs = $res[4]; ???} ???return array_unique($imgs);}/* @desc:获取所有音频文件 @return:所有匹配的音频文件 */public function getaudio(){ ???$content = $this->content; ???$preg="/(src)=(\\\?)([\"|‘]?)([^ \"‘>]+\.(mp3|wav|wma|ogg|ape|acc))\\2\\3/i"; ???$bool = preg_match_all($preg,$content,$res); ???$audios = array(); ???if($bool){ ???????$audios = $res[4]; ???} ???return array_unique($audios);}/* @desc:获取所有视频文件 @return:所有匹配的视频文件 */public function getvideo(){ ???$content = $this->content; ???$preg="/(src)=(\\\?)([\"|‘]?)([^ \"‘>]+\.(swf|flv|mp4|rmvb|avi|mpeg|ra|ram|mov|wmv)((\?[^ \"‘>]+)?))\\2\\3/i"; ???$bool = preg_match_all($preg,$content,$res); ???$videos = array(); ???if($bool){ ???????$videos = $res[4]; ???} ???return array_unique($videos);}/* @desc:获取所有段落文本 @return:所有匹配的段落文本 */public function getparagraph(){ ???$content = $this->content; ???$preg="/<p>(.*)<\/p>/Ui"; ???$bool = preg_match_all($preg,$content,$res); ???$paragraphs = array(); ???if($bool){ ???????$paragraphs = $res[1]; ???} ???return array_unique($paragraphs);}/* @desc:获取所有自定义内容 @return:所有匹配的自定义内容 */public function getuser($preg){ ???$content = $this->content; ???$bool = preg_match_all($preg,$content,$res); ???$users = array(); ???if($bool){ ???????$users = $res[1]; ???} ???return array_unique($users);}}
  • 测试:
    $match = new match($str);$ret = $match->getimg();var_dump($ret);
  • 输出:
    array(7) {[0]=>string(61) "https://assets-cdn.github.com/images/search-shortcut-hint.svg"[1]=>string(69) "https://assets-cdn.github.com/images/spinners/octocat-spinner-128.gif"[2]=>string(75) "https://assets-cdn.github.com/images/spinners/octocat-spinner-32-EAF2F5.gif"[3]=>string(68) "https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif"[14]=>string(45) "https://badges.gitter.im/walkor/Workerman.svg"[15]=>string(48) "http://www.workerman.net/img/workerman-start.png"[16]=>string(42) "http://donate.workerman.net/img/donate.png"}
  • php正则匹配类

    原文地址:http://blog.51cto.com/12173069/2125724

    知识推荐

    我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
    icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved