想要写一个正则表达式,把网页源码里的标签都过滤了,只留下网页的正文。如:<a href="http://deerchao.net">首页</a> | <a href="http://deerchao.net/tutorials/regex/common.htm">常用正则表达式</a> | <a href="http://deerchao.net/tools/regex_tester/index.htm">正则表达式测试工具</a> | <a href="../../services/gather/gather.htm">网络信息采集服务</a>
    </div>
    <h1>正则表达式30分钟入门教程</h1>    <p id="meta">版本:v2.32 (2011-8-17) 作者:<a href="http://deerchao.net/">deerchao</a>  转载请注明<a href="http://deerchao.net/tutorials/regex/regex.htm">来源</a></p>
    <h2 id="contents">目录</h2>
    <p id="skipContents" class="note"><a href="#mission" title="转到正文内容">跳过目录</a></p>
    <ol>
        <li><a href="#mission">本文目标</a></li>经正则过滤后应得到:首页|常用正则表达式|正则表达式测试工具网络信息采集服务正则表达式30分钟入门教程版本:v2.32 (2011-8-17) 作者:deerchao转载请注明目录跳过目录本文目标请大牛们帮忙!

解决方案 »

  1.   

    PHP 手册里的preg_replace
    又详细代码 跟说明 我就粘贴了 一小段 你看看
    Example #5 将 HTML 转换成文本<?php
    // $document 应包含一个 HTML 文档。
    // 本例将去掉 HTML 标记,javascript 代码
    // 和空白字符。还会将一些通用的
    // HTML 实体转换成相应的文本。$search = array ("'<script[^>]*?>.*?</script>'si",  // 去掉 javascript
                     "'<[\/\!]*?[^<>]*?>'si",           // 去掉 HTML 标记
                     "'([\r\n])[\s]+'",                 // 去掉空白字符
                     "'&(quot|#34);'i",                 // 替换 HTML 实体
                     "'&(amp|#38);'i",
                     "'&(lt|#60);'i",
                     "'&(gt|#62);'i",
                     "'&(nbsp|#160);'i",
                     "'&(iexcl|#161);'i",
                     "'&(cent|#162);'i",
                     "'&(pound|#163);'i",
                     "'&(copy|#169);'i",
                     "'&#(\d+);'e");                    // 作为 PHP 代码运行$replace = array ("",
                      "",
                      "\\1",
                      "\"",
                      "&",
                      "<",
                      ">",
                      " ",
                      chr(161),
                      chr(162),
                      chr(163),
                      chr(169),
                      "chr(\\1)");$text = preg_replace ($search, $replace, $document);
    ?> 
      

  2.   

    用正则也很简单。echo preg_replace('#</?[^>]*>#isU',"",$str);
      

  3.   


    $strs ='<div><div><a href="">1123321</a> asddsa</div></div>';
    function replaces($strs)
    {
    $result= preg_replace("/<[\/\!]*?[^<>]*?>$/","",$strs);
    return $result;
    }while(true)
    {
    if(preg_match("/<[\/\!]*?[^<>]*?>$/",$strs))
    $strs = replaces($strs);
    else
    break;
    }
    echo $strs;
    下班鸟 帮你写了一个参考下  但是 貌似 <a  XXX=""></a>  这样的代码不会替换 回去在帮你看看吧