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基础知识:类与对象(4) 范围解析操作符(::)
Dec 13 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
Dec 01 PHP
php约瑟夫问题解决关于处死犯人的算法
Mar 23 PHP
Symfony2函数用法实例分析
Mar 18 PHP
PHP创建/删除/复制文件夹、文件
May 03 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
PHP实现的曲线统计图表示例
Nov 10 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
Nov 15 PHP
php图片合成方法(多张图片合成一张)
Nov 25 PHP
PHP扩展Swoole实现实时异步任务队列示例
Apr 13 PHP
YII框架http缓存操作示例
Apr 29 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 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
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
php实现点击可刷新验证码
2015/11/07 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
use jscript List Installed Software
2007/06/11 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
js弹出确认是否删除对话框
2014/03/27 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
自己编写的支持Ajax验证的JS表单验证插件
2015/05/15 Javascript
JS原型链怎么理解
2016/06/27 Javascript
vue实现简单实时汇率计算功能
2017/01/15 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
Python实现删除文件但保留指定文件
2015/06/21 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
Python timeit模块的使用实践
2020/01/13 Python
python机器学习库xgboost的使用
2020/01/20 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
html5 canvas的绘制文本自动换行的示例代码
2018/09/17 HTML / CSS
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
与UNIX有关的几个名词
2015/09/17 面试题
客户代表自我评价范例
2013/09/24 职场文书
2014的自我评价
2014/01/13 职场文书
敬老院活动总结
2014/04/28 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
师范生小学见习总结
2015/06/23 职场文书
体育教师研修感悟
2015/11/18 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书