PHP 采集程序 常用函数


Posted in PHP onDecember 18, 2008

当前的脚本网址
function get_php_url(){
if(!empty($_SERVER["REQUEST_URI"])){
$scriptName = $_SERVER["REQUEST_URI"];
$nowurl = $scriptName;
}else{
$scriptName = $_SERVER["PHP_SELF"];
if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName;
else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
}
return $nowurl;
}
//把全角数字转为半角数字
function GetAlabNum($fnum){
$nums = array("0","1","2","3","4","5","6","7","8","9");
$fnums = "0123456789";
for($i=0;$i<=9;$i++) $fnum = str_replace($nums[$i],$fnums[$i],$fnum);
$fnum = ereg_replace("[^0-9\.]|^0{1,}","",$fnum);
if($fnum=="") $fnum=0;
return $fnum;
}
//去除HTML标记
function Text2Html($txt){
$txt = str_replace(" "," ",$txt);
$txt = str_replace("<","<",$txt);
$txt = str_replace(">",">",$txt);
$txt = preg_replace("/[\r\n]{1,}/isU","<br/>\r\n",$txt);
return $txt;
}
//清除HTML标记
function ClearHtml($str){
$str = str_replace('<','<',$str);
$str = str_replace('>','>',$str);
return $str;
}
//相对路径转化成绝对路径
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;
}
//取得所有链接
function get_all_url($code){
preg_match_all('/<a\s+href=["|\']?([^>"\' ]+)["|\']?\s*[^>]*>([^>]+)<\/a>/i',$code,$arr);
return array('name'=>$arr[2],'url'=>$arr[1]);
}
//获取指定标记中的内容
function get_tag_data($str, $start, $end){
if ( $start == '' || $end == '' ){
return;
}
$str = explode($start, $str);
$str = explode($end, $str[1]);
return $str[0];
}
//HTML表格的每行转为CSV格式数组
function get_tr_array($table) {
$table = preg_replace("'<td[^>]*?>'si",'"',$table);
$table = str_replace("</td>",'",',$table);
$table = str_replace("</tr>","{tr}",$table);
//去掉 HTML 标记
$table = preg_replace("'<[\/\!]*?[^<>]*?>'si","",$table);
//去掉空白字符
$table = preg_replace("'([\r\n])[\s]+'","",$table);
$table = str_replace(" ","",$table);
$table = str_replace(" ","",$table);
$table = explode(",{tr}",$table);
array_pop($table);
return $table;
}
//将HTML表格的每行每列转为数组,采集表格数据
function get_td_array($table) {
$table = preg_replace("'<table[^>]*?>'si","",$table);
$table = preg_replace("'<tr[^>]*?>'si","",$table);
$table = preg_replace("'<td[^>]*?>'si","",$table);
$table = str_replace("</tr>","{tr}",$table);
$table = str_replace("</td>","{td}",$table);
//去掉 HTML 标记
$table = preg_replace("'<[\/\!]*?[^<>]*?>'si","",$table);
//去掉空白字符
$table = preg_replace("'([\r\n])[\s]+'","",$table);
$table = str_replace(" ","",$table);
$table = str_replace(" ","",$table);
$table = explode('{tr}', $table);
array_pop($table);
foreach ($table as $key=>$tr) {
$td = explode('{td}', $tr);
array_pop($td);
$td_array[] = $td;
}
return $td_array;
}
//返回字符串中的所有单词 $distinct=true 去除重复
function split_en_str($str,$distinct=true) {
preg_match_all('/([a-zA-Z]+)/',$str,$match);
if ($distinct == true) {
$match[1] = array_unique($match[1]);
}
sort($match[1]);
return $match[1];
}

PHP 相关文章推荐
php实现rc4加密算法代码
Apr 25 PHP
ThinkPHP关联模型操作实例分析
Sep 23 PHP
用Simple Excel导出xls实现方法
Dec 06 PHP
PHP获取文件的MD5值并判断是否被修改的例子
Jun 19 PHP
PHP使用feof()函数读文件的方法
Nov 07 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
PHP7常量数组用法分析
Sep 26 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
Dec 21 PHP
PHP基于cookie实现统计在线人数功能示例
Jan 16 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
May 29 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
Oct 21 PHP
php IP及IP段进行访问限制的代码
Dec 17 #PHP
php mssql 数据库分页SQL语句
Dec 16 #PHP
linux下 C语言对 php 扩展
Dec 14 #PHP
php 文件状态缓存带来的问题
Dec 14 #PHP
快速开发一个PHP扩展图文教程
Dec 12 #PHP
PHP Google的translate API代码
Dec 10 #PHP
php escape URL编码
Dec 10 #PHP
You might like
php去除HTML标签实例
2013/11/06 PHP
php查询相似度最高的字符串的方法
2015/03/12 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
js保存当前路径(cookies记录)
2010/12/14 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
2014/03/05 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
javascript获取dom的下一个节点方法
2014/09/05 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
2014/12/18 Javascript
javascript截取字符串小结
2015/04/28 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
2016/01/05 Javascript
jquery模拟多级复选框效果的简单实例
2016/06/08 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
jquery选择器和属性对象的操作实例分析
2020/01/10 jQuery
python实现爬虫下载漫画示例
2014/02/16 Python
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
零基础写python爬虫之爬虫编写全记录
2014/11/06 Python
详解Python中的__getitem__方法与slice对象的切片操作
2016/06/27 Python
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
2020/05/23 Python
详解numpy.ndarray.reshape()函数的参数问题
2020/10/13 Python
Skyscanner波兰:廉价航班
2017/11/07 全球购物
物业保安员岗位职责制度
2014/01/30 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
“学党章、守党纪、讲党规”学习心得体会
2016/01/14 职场文书
Python之基础函数案例详解
2021/08/30 Python