php中正则无法匹配内容

查看:69
本文介绍了php中正则无法匹配内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<?php
$output = '
<div class=obssin>
                <div class="substatus">看过</div>
                
    <ul>
            <li class="aob">
                <a href="https://movie.douban.com/subject/3338862/" title="终结者:创世纪

终结者:创世纪 / 终结者5" target="_blank">
                    <img src="https://img3.doubanio.com/view/movie_poster_cover/ipst/public/p2262649521.jpg" class="climg" alt="终结者:创世纪"/>
                </a>
            </li>
            <li class="aob">
                <a href="https://movie.douban.com/subject/1291844/" title="终结者2:审判日

终结者2:审判日 / 终结者2" target="_blank">
                    <img src="https://img3.doubanio.com/view/movie_poster_cover/ipst/public/p1910909085.jpg" class="climg" alt="终结者2:审判日"/>
                </a>
            </li>
            <li class="aob">
                <a href="https://movie.douban.com/subject/1300656/" title="终结者

终结者 / 魔鬼终结者" target="_blank">
                    <img src="https://img3.doubanio.com/view/movie_poster_cover/ipst/public/p511430453.jpg" class="climg" alt="终结者"/>
                </a>
            </li>
            <li class="aob">
                <a href="https://movie.douban.com/subject/24404677/" title="超体

超体 / LUCY:绝路煞姬(港)" target="_blank">
                    <img src="https://img3.doubanio.com/view/movie_poster_cover/ipst/public/p2201909284.jpg" class="climg" alt="超体"/>
                </a>
            </li>
            <li class="aob">
                <a href="https://movie.douban.com/subject/25827963/" title="西游记之孙悟空三打白骨精

西游记之大闹天宫续集" target="_blank">
                    <img src="https://img3.doubanio.com/view/movie_poster_cover/ipst/public/p2315805100.jpg" class="climg" alt="西游记之孙悟空三打白骨精"/>
                </a>
            </li>
    </ul>

            <div class="clear"></div></div>

    </div>';
    $output=preg_replace("/[\t\n\r]+/","",$output);
$partern='/<div class=obssin><div class="substatus">看过<\/div><ul><li class="aob"><a href="([^<>]+)" title="([^<>]+)" target="_blank"><img src="([^<>]+)" class="climg" alt="([^<>]+)"\/><\/a><\/li><\/ul><\/div>/';
preg_match_all($partern,$output,$result);
var_dump($result);   
?>

这样为什么匹配不到内容?

解决方案

$partern 结尾多了 </ul></div>

改为:$partern='/<div class=obssin><div class="substatus">看过<\/div><ul><li class="aob"><a href="([^<>]+)" title="([^<>]+)" target="_blank"><img src="([^<>]+)" class="climg" alt="([^<>]+)"\/><\/a><\/li>/';

PS:不建议这样用正则

这篇关于php中正则无法匹配内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆