博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有用的函数-系统采集(二)
阅读量:5912 次
发布时间:2019-06-19

本文共 2428 字,大约阅读时间需要 8 分钟。

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; 

转载于:https://www.cnblogs.com/hylaz/archive/2012/12/24/2830906.html

你可能感兴趣的文章
Eclipse导入的项目中发现包的形式变成了文件夹的形式,需要将文件夹的形式变成包...
查看>>
使用MySQL yum源安装MySQL
查看>>
iOS8中使用CoreLocation定位
查看>>
R语言处理Time series
查看>>
mvn package时设置了maven.test.skip=true依旧执行单元测试
查看>>
Java学习笔记(一)背景知识
查看>>
PAT 1118 Birds in Forest [一般]
查看>>
Adapting to views using css or js
查看>>
020PHP基础知识——函数(三)
查看>>
构造函数&&继承8.1
查看>>
Codeforces 923 A. Primal Sport
查看>>
selenium 关于富文本的处理
查看>>
我的lamp常用安装配置
查看>>
跨域问题通用解决方案
查看>>
判断IP连接数前五,并自动加入防火墙
查看>>
Group分组及其扩展总结(四)
查看>>
[转+整理]linux shell 将字符串分割成数组
查看>>
# WinForm关闭窗体确认
查看>>
疑惑:八卦掌趟泥步到底怎样走才正确?
查看>>
java的折半查询
查看>>