<?php
$string = '</td></tr></table><br><table border="0" cellpadding="0" cellspacing="0"><tr><td class=f></font> - <a href="http://www.baidu.com/shifen/" target="_blank" class=m>推广</a><br></font></td></tr>< a href="sdfsdfsdf">我们</a>';
preg_match_all('|(<a href=".*?".*?>推广</a>)|i', $string, $arr);
print_r($arr);
?>

解决方案 »

  1.   

    $string = ereg_replace('|(<a href=".*?".*?>推广</a>)|i','', $string);
    这样怎么不能把推广的链接替换为空
      

  2.   

    我写的是preg模式的正则。<?php
    $string = '</td></tr></table><br><table border="0" cellpadding="0" cellspacing="0"><tr><td class=f></font> - <a href="http://www.baidu.com/shifen/" target="_blank" class=m>推广</a><br></font></td></tr>< a href="sdfsdfsdf">我们</a>';
    $string = ereg_replace('<a.*>推广</a>','', $string);
    echo $string;
    ?>output
    </td></tr></table><br><table border="0" cellpadding="0" cellspacing="0"><tr><td class=f></font> - <br></font></td></tr>< a href="sdfsdfsdf">我们</a>
      

  3.   

    <a class="m" target="_blank" href="s?lm=0&si=&rn=10&tn=myie2dg&ie=gb2312&ct=0&wd=site%3Awww%2Efengniao%2Ecom+%CF%E0%BB%FA&cl=2">www.fengniao.com&nbsp;上的更多结果</a>
    如果是匹配这个链接又应该怎么匹配啊
      

  4.   

    <a class="m" target="_blank" href="s?lm=0&si=&rn=10&tn=myie2dg&ie=gb2312&ct=0&wd=site%3Awww%2Efengniao%2Ecom+%CF%E0%BB%FA&cl=2">www.fengniao.com&nbsp;上的更多结果</a>
    如果是匹配这个链接又应该怎么匹配啊那位 真的是急用啊 再帮个忙吗
      

  5.   

    <?php
    function getstr(){
        if(isset($_GET['wd'])){
      $thekeyword = $_GET['wd'];
    }else{
      $thekeyword = "相机";
    }
        $url = "http://www.baidu.com/s?wd=".$thekeyword;
    $str = file_get_contents($url);
        preg_match_all('|(<a href=".*?".*?>百度快照</a>)|i',$str,$thearray);
    return $thearray[0];
    }
    $thearray = getstr();
    foreach($thearray as $val){
    echo $val.'<br>';
    }
    ?>
    匹配得也不怎么准确|(<a href=".*?".*?>百度快照</a>)|i这个匹配还是比较模糊