<li class="item">
                        <a class="js-tongjic" href="/m/gaPkYhH4Q0j4Tx.html"> 
                            <div class="cover g-playicon">
                                <img src="http://p0.qhimg.com/t01a8db7a8c8100326e.jpg">
                                <span class="pay">付费</span>                                <span class="hint">2017</span>                            </div>
                            <div class="detail">
                                <p class="title g-clear">
                                    <span class="s1">欢乐好声音</span>
                                    <span class="s2">8.2</span>
                                </p>
                                <p class="star">主演:马修·麦康纳 瑞茜·威瑟斯彭 塞思·麦克法兰 斯嘉丽·约翰逊 塔伦·埃格顿</p>
                            </div>
                        </a>
                    </li>这段代码如何用正则匹配出 href       imgsrc  s1  s2 star的内容呀?

解决方案 »

  1.   

    $s =<<< TXT
     <li class="item">
                            <a class="js-tongjic" href="/m/gaPkYhH4Q0j4Tx.html"> 
                                <div class="cover g-playicon">
                                    <img src="http://p0.qhimg.com/t01a8db7a8c8100326e.jpg">
                                    <span class="pay">付费</span>                                <span class="hint">2017</span>                            </div>
                                <div class="detail">
                                    <p class="title g-clear">
                                        <span class="s1">欢乐好声音</span>
                                        <span class="s2">8.2</span>
                                    </p>
                                    <p class="star">主演:马修·麦康纳 瑞茜·威瑟斯彭 塞思·麦克法兰 斯嘉丽·约翰逊 塔伦·埃格顿</p>
                                </div>
                            </a>
                        </li>
    TXT;
    preg_match_all('/(\w+)\s*=\s*"([^"]+)/', $s, $m);
    print_r($m);
    Array
    (
        [0] => Array
            (
                [0] => class="item
                [1] => class="js-tongjic
                [2] => href="/m/gaPkYhH4Q0j4Tx.html
                [3] => class="cover g-playicon
                [4] => src="http://p0.qhimg.com/t01a8db7a8c8100326e.jpg
                [5] => class="pay
                [6] => class="hint
                [7] => class="detail
                [8] => class="title g-clear
                [9] => class="s1
                [10] => class="s2
                [11] => class="star
            )    [1] => Array
            (
                [0] => class
                [1] => class
                [2] => href
                [3] => class
                [4] => src
                [5] => class
                [6] => class
                [7] => class
                [8] => class
                [9] => class
                [10] => class
                [11] => class
            )    [2] => Array
            (
                [0] => item
                [1] => js-tongjic
                [2] => /m/gaPkYhH4Q0j4Tx.html
                [3] => cover g-playicon
                [4] => http://p0.qhimg.com/t01a8db7a8c8100326e.jpg
                [5] => pay
                [6] => hint
                [7] => detail
                [8] => title g-clear
                [9] => s1
                [10] => s2
                [11] => star
            ))
      

  2.   

    一次匹配,也可以分开匹配
    preg_match('#<a.+?href="(.+?)".+?src="(.+?)".+?<span class="s1">(.+?)</span>\s*<span class="s2">(.+?)<.+?<p class="star">([^<]+)#s', $s, $m);
    print_r($m);
      

  3.   


    http://www.360kan.com/dianying/list.php 源代码地址 您看下  您给的正则无关的内容也给匹配出来了- -
      

  4.   


    让他显示内容 不显示html代码 麻烦您给修改下
      

  5.   


    preg_match('#<a.*?href="(.*?)".*?src="(.*?)">.*?<span class="s1">(.*?)</span>.*?<span class="s2">(.*?)</span>.*?<p class="star">(.*?)</p>#is',$str,$arr);
    var_dump($arr[1],$arr[2],$arr[3],$arr[4],$arr[5]);
    你要的5个ok了