PHP 采集程序中常用的函数


Posted in PHP onDecember 09, 2009
//获得当前的脚本网址 
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邮件专题
Oct 09 PHP
php Try Catch异常测试
Mar 01 PHP
PHP 多维数组排序(usort,uasort)
Jun 30 PHP
关于尾递归的使用详解
May 02 PHP
php使浏览器直接下载pdf文件的方法
Nov 15 PHP
PHP中redis的用法深入解析
Feb 20 PHP
php的XML文件解释类应用实例
Sep 22 PHP
经典PHP加密解密函数Authcode()修复版代码
Apr 05 PHP
PHP合并discuz用户脚本的方法
Aug 04 PHP
PHP自定义函数获取URL中一级域名的方法
Aug 23 PHP
php实现保存周期为1天的购物车类
Jul 07 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 PHP
Php 构造函数construct的前下划线是双的_
Dec 08 #PHP
PHP 读取文件内容代码(txt,js等)
Dec 06 #PHP
PHP 用数组降低程序的时间复杂度
Dec 04 #PHP
PHP 柱状图实现代码
Dec 04 #PHP
Ajax+PHP边学边练 之五 图片处理
Dec 03 #PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 #PHP
又一个php 分页类实现代码
Dec 03 #PHP
You might like
php中将数组存到文件里的实现代码
2012/01/19 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
解决php表单重复提交实现方法
2015/09/29 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
laravel实现上传图片并在页面显示的例子
2019/10/14 PHP
JavaScript中null与undefined分析
2009/07/25 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
2012/01/04 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
2015/01/09 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
Vue-CLI 3.X 部署项目至生产服务器的方法
2019/03/22 Javascript
js字符串类型String常用操作实例总结
2019/07/05 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
2020/08/06 Javascript
小程序点餐界面添加购物车左右摆动动画
2020/09/23 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
[32:39]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第一场 11.04
2020/11/04 DOTA
python 从远程服务器下载东西的代码
2013/02/10 Python
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
pandas 将索引值相加的方法
2018/11/15 Python
Python3.5集合及其常见运算实例详解
2019/05/01 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
新加坡最佳婴儿用品店:Mamahood.com.sg
2018/08/26 全球购物
毕业生求职推荐信
2013/11/04 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
个人债务授权委托书
2014/10/17 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
2015年库房管理工作总结
2015/10/14 职场文书