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文件
Jan 04 PHP
php性能优化分析工具XDebug 大型网站调试工具
May 22 PHP
PHP安全防范技巧分享
Nov 03 PHP
PHP数据类型的总结分析
Jun 13 PHP
PHP获取youku视频真实flv文件地址的方法
Dec 23 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
PHP rsa加密解密使用方法
Apr 27 PHP
PHP抓取网页、解析HTML常用的方法总结
Jul 01 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
php将字符串转换为数组实例讲解
May 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
全国中波电台频率表
2020/03/11 无线电
一篇不错的PHP基础学习笔记
2007/03/18 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
MySQL的FIND_IN_SET函数使用方法分享
2012/03/27 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
2020/04/23 PHP
原生js事件的添加和删除的封装
2014/07/01 Javascript
初识Node.js
2014/09/03 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
vue中实现滚动加载更多的示例
2017/11/08 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
3分钟读懂移动端rem使用方法(推荐)
2019/05/06 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
2014/08/15 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
python实现换位加密算法的示例
2018/10/14 Python
Python configparser模块常用方法解析
2020/05/22 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
Forever 21美国官网:美国标志性快时尚品牌
2017/02/20 全球购物
印度在线杂货店:bigbasket
2018/08/23 全球购物
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
公司门卫管理制度
2014/02/01 职场文书
协议书怎么写
2014/04/21 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
高中生个性发展自我评价
2015/03/09 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python