$txt = '<a>模压</a><a href="http://www.*****./articles/11677.html" target="_blank"><span style="color: #0000cd"><span>2011北京中考二模语文<a href="http://www.*****.net/zkzuowen/" target="_blank" class="keylink">作文</a>汇编</span></span></a><span style="color: #0000cd">&nbsp;</span><span style="display: none">&nbsp;</span></p>';现在我想要得到
<a href="http://www.*****./articles/11677.html" target="_blank"><span style="color: #0000cd"><span>2011北京中考二模语文<a href="http://www.*****.net/zkzuowen/" target="_blank" class="keylink">作文</a>汇编</span></span></a>
这段
自己弄了几个小时没成功,求助各位了

解决方案 »

  1.   

    preg_match('/<a[^>]+>(.*)<\/a>/i',$txt,$arr);
    print_r($arr[0]);
      

  2.   

    不好意思,刚发的有些问题   
    $txt = '<a href="http://www.*****./articles/11677.html">模压</a><a href="http://www.*****./articles/11677.html" target="_blank"><span style="color: #0000cd"><span>2011北京中考二模语文<a href="http://www.*****.net/zkzuowen/" target="_blank" class="keylink">作文</a>汇编</span></span></a><span style="color: #0000cd">&nbsp;</span><span style="display: none">&nbsp;</span></p>';
    应该是这样的
    要判断是否a标签里面还套有a标签,如果套有a标签的话,则把里面的a标签去除
    变成以下的格式<a href="http://www.*****./articles/11677.html">模压</a><a href="http://www.*****./articles/11677.html" target="_blank"><span style="color: #0000cd"><span>2011北京中考二模语文作文汇编</span></span></a><span style="color: #0000cd">&nbsp;</span><span style="display: none">&nbsp;</span></p>
      

  3.   

    $txt = '<a href="http://www.*****./articles/11677.html">模压</a><a href="http://www.*****./articles/11677.html" target="_blank"><span style="color: #0000cd"><span>2011北京中考二模语文<a href="http://www.*****.net/zkzuowen/" target="_blank" class="keylink">作文</a>汇编</span></span></a><span style="color: #0000cd">&nbsp;</span><span style="display: none">&nbsp;</span></p>';
    $txt_rep = preg_replace("/(<a[^>]+>.*)(<a[^>]+>.*<\/a>)(.*<\/a>)/i","\$1\$3",$txt);var_dump($txt_rep);
      

  4.   

    if(preg_match('|<a[^>]+>(.*)<a[^>]+>(.*)<\/a><\/a>|si',$txt)){
      preg_replace('|<a[^>]+>(.*)<a[^>]+>(.*)<\/a><\/a>|si','|<a[^>]+>(.*)<\/a>|','');
    }
    没有做测试,你试试吧
      

  5.   

    我测试了。结果如下:
    string(296) "<a href="http://www.*****./articles/11677.html">模压</a><a href="http://www.*****./articles/11677.html" target="_blank"><span style="color: #0000cd"><span>2011北京中考二模语文汇编</span></span></a><span style="color: #0000cd">&nbsp;</span><span style="display: none">&nbsp;</span></p>"
      

  6.   

    我的意思是 "北京中考二模语文汇编" 应该为 北京中考二模语文作文汇编      少了作文二字。
    现在已经搞定,谢谢热心人
    贴上代码 
    $preg_ ="/(<a.*?>.*)<a.*?>(.*)<\/a>(.*<\/a>)/is";
    $txt = preg_replace($preg_, '$1$2$3' , $txt);