博主信息
博文 34
粉丝 0
评论 0
访问量 46167
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
正则表达式”?“的用法
黄健的博客
原创
1804人浏览过

这是一段优酷的通用视频播放代码

$flag="<iframe height=498 width=510 src='http://player.youku.com/embed/XMzkzODk0MTc1Ng==' frameborder=0 'allowfullscreen'></iframe>";

我现在只想要 'http://player.youku.com/embed/XMzkzODk0MTc1Ng=='  这链接部分

正则匹配表达式:'/iframe .*?[\'\"](.*?)[\'\"]/';

分析一下:

    1 /iframe ;这部分开头部分,是以指定字符开头。

    2 .*? 这是三个其中 "." 是元字符:表示匹配除换行符以外的任意字符 / "*","?"是限定符,限定字符出现的次数。“*”重复0次或更多次; “?”是重复0次或一次。

    3 [\'\"]  :方括号是 字符集合,匹配方括号中的任意一个字符

    4 (.*?)    :圆括号是 分组  匹配圆括号中所有字符串,而且可以在后面指定次数,上面没指定就是匹配一次

    最后以 分号结尾。


如何获取想要的链接部分呢?

    php 有个正则匹配函

            preg_match()常用的有三个参数  

                1 正则表达式;2 被查找的字符串;3 接收结果的变量

            用法: preg_match( '/iframe .*?[\'\"](.*?)[\'\"]/', htmlspecialchars_decode($flag),$match );

                    htmlspecialchars_decode: 存入数据库的html代码,很可能被转换了,需要转回来。

                    匹配到的结果就在 $match 中、   


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学