Blogger Information
Blog 34
fans 0
comment 0
visits 39106
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
正则表达式”?“的用法
黄健的博客
Original
1373 people have browsed it

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

$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 中、   


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post