如何从文章中正则出所有 a 标超链,超链文字含有 product 的?
如:<a href="a.php">product</a>
<a href="b.jsp" id="link">product photo</a>
<a calss="menu" href="c.html">product catalog</a>
<a href="d.apsx" onClick="js()">our product</a>

解决方案 »

  1.   


    $s = <<<eof
    <a href="a.php">product</a>
    <a href="b.jsp" id="link">product photo</a>
    <a calss="menu" href="c.html">product catalog</a>
    <a href="d.apsx" onClick="js()">our product</a>
    <a href="d.apsx" onClick="js()">our produc</a>
    eof;
    preg_match_all('/<a[^>]*href="(.*?)"[^>]*>(.*(?:product).*)<\/a>/i',$s,$arr);
    echo '<pre />';
    print_r($arr);
      

  2.   

    <?php
    //使用heredoc
    $s = <<<regExp
    <a href="a.php">product</a>
    <a href="b.jsp" id="link">product photo</a>
    <a calss="menu" href="c.html">product catalog</a>
    <a href="d.apsx" onClick="js()">our product</a>
    <a href="d.apsx" onClick="js()">our produc</a>
    regExp;
    //上面的regExp前面不能有任何字符后面也不能有任何字符
    preg_match_all('/<a.*href="(.*?)".*>(.*?)<\/a>/i',$s,$arr);//其中.*?是取消贪婪匹配额
    echo '<pre >';
    print_r($arr);
    echo '</pre>';
    ?>
      

  3.   

    <?php
    //使用heredoc
    $s = <<<regExp
    <a href="a.php">product</a>
    <a href="b.jsp" id="link">product photo</a>
    <a calss="menu" href="c.html">product catalog</a>
    <a href="d.apsx" onClick="js()">our product</a>
    <a href="d.apsx" onClick="js()">our produc</a>
    regExp;
    //上面的regExp前面不能有任何字符后面也不能有任何字符
    preg_match_all('/<a.*href="(.*?)".*>(.*product.*?)<\/a>/i',$s,$arr);//其中.*?是取消贪婪匹配额
    echo '<pre >';
    print_r($arr);
    echo '</pre>';
    ?>
    上面的有的问题,这个可以了
      

  4.   

    顶楼上的。。楼上的仁兄能不能回答我一个问题啊。
    http://topic.csdn.net/u/20110224/17/25911686-a9df-494e-b92d-6f0629f7e5ca.html
    还有
    http://topic.csdn.net/u/20110302/11/9a93a123-74ff-4bf7-a5de-603dd15d2a14.html
    谢谢啦。。
      

  5.   

    正则式:
    /\<a\shref\=\"(.*\..*)\"\>product<\/a\>/