• 有用的函数系统采集(二)


    1.去除html标记

    function Text2Html($txt){

            $txt = str_replace("  "," ",$txt);

            $txt = str_replace("<","&lt;",$txt);

            $txt = str_replace(">","&gt;",$txt);

            $txt = preg_replace("/[\r\n]{1,}/isU","<br/>\r\n",$txt);

            return $txt;

    }

    2.相对路径转绝对路径

    function relative_to_absolute($content, $feed_url) { 

        preg_match('/(http|https|ftp):\/\//', $feed_url, $protocol); 

        $server_url = preg_replace("/(http|https|ftp|news):\/\//", "", $feed_url); 

        $server_url = preg_replace("/\/.*/", "", $server_url); 

        if ($server_url == '') { 

            return $content; 

        } 

        if (isset($protocol[0])) { 

            $new_content = preg_replace('/href="\//', 'href="'.$protocol[0].$server_url.'/', $content); 

            $new_content = preg_replace('/src="\//', 'src="'.$protocol[0].$server_url.'/', $new_content); 

        } else { 

            $new_content = $content; 

        } 

        return $new_content; 

    }


    3.取得所有链接

    function get_all_url($code){ 

            preg_match_all('/<a\s+href=["|\']?([^>"\' ]+)["|\']?\s*[^>]*>([^>]+)<\/a>/i',$code,$arr); 

            return array('name'=>$arr[2],'url'=>$arr[1]); 

    }


    4..获取指定标记中的内容

    function get_tag_data($str, $start, $end){ 

            if ( $start == '' || $end == '' ){ 

                   return; 

            } 

            $str = explode($start, $str); 

            $str = explode($end, $str[1]); 

            return $str[0]; 

    }

    5.获取远程文件内容(抓内容)

    /** 

        获取远程文件内容 

        @param $url 文件http地址 

    */ 

    function fopen_url($url) 

        if (function_exists('file_get_contents')) { 

            $file_content = @file_get_contents($url); 

        } elseif (ini_get('allow_url_fopen') && ($file = @fopen($url, 'rb'))){ 

            $i = 0; 

            while (!feof($file) && $i++ < 1000) { 

                $file_content .= strtolower(fread($file, 4096)); 

            } 

            fclose($file); 

        } elseif (function_exists('curl_init')) { 

            $curl_handle = curl_init(); 

            curl_setopt($curl_handle, CURLOPT_URL, $url); 

            curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,2); 

            curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,1); 

            curl_setopt($curl_handle, CURLOPT_FAILONERROR,1); 

            curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Trackback Spam Check'); 

           $file_content = curl_exec($curl_handle); 

            curl_close($curl_handle); 

        } else { 

            $file_content = ''; 

        } 

        return $file_content; 

    }

    6.去掉指定的标签函数

    /*

    $str = "ertet<a href=\"http://www.xxxx.com\" tasdfgrget=\"_blank\">aaaabbbb 

    <img src=\"http://img.xxx.cn/xxxx.jpg\" width=\"760\" height=\"90\" border=\"0\" /> 

                </a>aaadf"; 

    echo _strip_tags(array("a","img"),$str); 

    */

    function _strip_tags($tags_a,$str) 

        foreach ($tags_a as $tag) 

        { 

            $p[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i"; 

        } 

       $return_str = preg_replace($p,"",$str); 

        return $return_str; 

  • 相关阅读:
    [商业][思想]《免费 商业的未来 Free The Future of a Radical Price》 克里斯·安德森(美)
    《幸福就在你身边》第六课、心动就要行动【哈佛大学"幸福课"精华】
    人性歪曲的心理调适 一【犹豫心理、怯场心理、依赖心理、盲从心理、攀比心理】
    《幸福就在你身边》第九课、确信自己有好命【哈佛大学"幸福课"精华】
    ORACLE FLASHBACK恢复删除的所有表
    抽象类和接口的例子
    抽象类专题二:抽象类的用途
    Entity Framework中的批量提交与事务处理[转]
    如何处理JSON中的特殊字符
    C# params参数的应用
  • 原文地址:https://www.cnblogs.com/hylaz/p/2830906.html
Copyright © 2020-2023  润新知