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的ASP防火墙
Oct 09 PHP
一个MYSQL操作类
Nov 16 PHP
php 中英文语言转换类代码
Aug 11 PHP
php操作SVN版本服务器类代码
Nov 27 PHP
php笔记之:php函数range() round()和list()的使用说明
Apr 26 PHP
php Xdebug的安装与使用详解
Jun 20 PHP
php导入csv文件碰到乱码问题的解决方法
Feb 10 PHP
PHP return语句的另一个作用
Jul 30 PHP
如何使用php实现评委评分器
Jul 31 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
Jan 07 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 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/04/11 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
2017/04/04 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
2016/05/31 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
React简单介绍
2017/05/24 Javascript
js实现移动端导航点击自动滑动效果
2017/07/18 Javascript
从零开始学习搭建React脚手架项目
2018/08/23 Javascript
详解微信小程序文件下载--视频和图片
2019/04/24 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
python实现给字典添加条目的方法
2014/09/25 Python
Python smallseg分词用法实例分析
2015/05/28 Python
利用python画一颗心的方法示例
2017/01/31 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
Python进阶:生成器 懒人版本的迭代器详解
2019/06/29 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
python将图片转base64,实现前端显示
2020/01/09 Python
python中有帮助函数吗
2020/06/19 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
批评与自我批评材料
2014/02/15 职场文书
销售目标责任书
2014/07/23 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书
redis 存储对象的方法对比分析
2021/08/02 Redis