目的:将A标签的链接地址进行分类(文本/图片/音频/视频/其它文件)
变量:$url表示链接地址
函数:自选例:文本:preg_match ("/(.+\.htm|.+\.html|.+\.shtml|.+\.asp|.+\.aspx|.+\.jsp|.+\.php|.+\.do)$/i", $url)
图片:preg_match ("/(.+\.jpg|.+\.gif|.+\.jpeg|.+\.png|.+\.tiff|.+\.raw|.+\.bmp)$/i", $url)
音频:preg_match ("/(.+\.aif|.+\.aifc|.+\.aiff|.+\.asf|.+\.asx|.+\.au|.+\.cmf|.+\.mid|.+\.mif|.+\.mp3|.+\.rmi|.+\.svx|.+\.voc|.+\.wav)$/i", $url)
视频:preg_match ("/(.+\.wmv|.+\.asf|.+\.asx|.+\.rm|.+\.rmvb|.+\.mpg|.+\.mpeg|.+\.mpe|.+\.3gp|.+\.mov|.+\.mp4|.+\.m4v|.+\.avi|.+\.dat|.+\.mkv|.+\.flv|.+\.vob)$/i", $url)
其它文件:除以上四种情况之外的规为此类
求全解,欢迎大家跟帖

解决方案 »

  1.   

    1.正则中重复的模式可以提取到前面写。;例如  .+
    2.有些正则可以合并为一个,如   html?   可表示htm与html  
      

  2.   

    文本:preg_match ("/(\/|\.(htm|html|shtml|asp|aspx|jsp|php|do))$/i", $url)
    图片:preg_match ("/\.(jpg|jpeg|gif|png|tiff|raw|bmp)$/i", $url)
    音频:preg_match ("/\.(aif|aifc|aiff|asf|asx|au|cmf|mid|mif|mp3|rmi|svx|voc|wav)$/i", $url)
    视频:preg_match ("/\.(wmv|asf|asx|rm|rmvb|mpg|mpeg|mpe|3gp|mov|mp4|m4v|avi|dat|mkv|flv|vob)$/i", $url)
    其它文件:除以上四种情况之外的规为此类
      

  3.   

    http://www.test.com/detail.php?filename=file.rmvb这样的url就识别错了吧
    写个rmvb的
    $url = array(
    0=>'http://www.test.com/file0.rmvb',
    1=>'http://www.test.com/file1.rmvb?var=1',
    2=>'http://www.test.com/file2.rmvb#var=1.php',
    3=>'http://www.test.com/file3.php?file=1.rmvb'
    );
    foreach($url as $u)
    {
    echo $u."    ";
    var_dump(preg_match('/[^\?#]+\.rmvb[$\?#]/i',$u));
    }
    其他的自己研究
      

  4.   

    上面写错了
    var_dump(preg_match('/^[^\?#]+\.rmvb($|[\?#])/i',$u));
      

  5.   

    你可以在上网去多学习  www.php100.com 有空可以去我的 博客看看  http://dubichuncaige.blog.163.com 或者是<a href="http://cqms.blogbus.com">点击 </a>
      

  6.   

    你可以在上网去多学习 www.php100.com 有空可以去我的 博客看看 http://dubichuncaige.blog.163.com 或者是http://cqms.blogbus.com 点击这里就行 
      

  7.   

    发起此帖目的是想和大家一起探讨搜索引擎的搜索原理,如何检索页面的不同信息。
    现更正正则表达式文本:preg_match ("/(\/|\.(htm|html|shtml|asp|aspx|jsp|php|do))[$\?#]/i", $url)
    图片:preg_match ("/\.(jpg|jpeg|gif|png|tiff|raw|bmp)[$\?#]/i", $url)
    音频:preg_match ("/\.(aif|aifc|aiff|asf|asx|au|cmf|mid|mif|mp3|rmi|svx|voc|wav)[$\?#]/i", $url)
    视频:preg_match ("/\.(wmv|asf|asx|rm|rmvb|mpg|mpeg|mpe|3gp|mov|mp4|m4v|avi|dat|mkv|flv|vob)[$\?#]/i", $url)