首页 » PHP笔记 » php正则匹配内容中iframe标签

php正则匹配内容中iframe标签

高蒙 2016/06/22 21:47 2.1k浏览 0评论 PHP


在实际的需求中,如果内容里有上传视频,那么我们就要优先把视频给提取出来单独的展示。

在这里,因为我们都是走的第三方的视频播放,统一使用iframe代码的格式添加。所以,我这里只要叫iframe标签代码给提取出来就可以了。


看代码:

$content = '测试视频<iframe height=498 width=510 src="" frameborder=0 allowfullscreen></iframe>啦啦啦';
preg_match("/<iframe(.*?)><\/iframe>/i",$content,$match);
print_r($match);


打印之后:

Array
(
    [0] => <iframe height=498 width=510 src="" frameborder=0 allowfullscreen></iframe>
    [1] =>  height=498 width=510 src="" frameborder=0 allowfullscreen
)

很显然,我们顺利的取得了,我们内容中的iframe标签的内容。所以,只要正则写的没问题。提取出来还是挺容易的。


当然,有可能有这样的需求,就是我要获取到里面的所有iframe标签。那么这里也有方法,

上面使用的preg_match()是匹配一次就停止,如果想获取全部。那么我们就可以直接使用preg_match_all();

看代码:

$content = '测试视频<iframe height=498 width=510 src="" frameborder=0 allowfullscreen></iframe>啦啦啦<iframe height="" width=""></iframe>哦哦哦';
preg_match_all("/<iframe(.*?)><\/iframe>/i",$content,$match);
print_r($match);


打印之后:

Array
(
    [0] => Array
        (
            [0] => <iframe height=498 width=510 src="" frameborder=0 allowfullscreen></iframe>
            [1] => <iframe height="" width=""></iframe>
        )
    [1] => Array
        (
            [0] =>  height=498 width=510 src="" frameborder=0 allowfullscreen
            [1] =>  height="" width=""
        )
)

如果想就获取第一结果就够了的话,可以直接使用preg_match(),要是使用preg_match_all()毕竟还是要执行多次匹配的。





相关文章

我有话说

站长昵称:(*)

输入内容:

选个头像:

评论列表

    ...

    高蒙

    男, PHP程序猿

    文章

    481

    标签

    38

    热度

    10w+

    南京, 江苏, 中国

    人生要是没有理想, 那跟咸鱼有什么分别。