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 函数语法介绍一
Jun 14 PHP
PHP foreach循环使用详解与实例代码
May 08 PHP
php下正则来匹配dede模板标签的代码
Aug 21 PHP
php图片的裁剪与缩放生成符合需求的缩略图
Jan 11 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
May 15 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
Jun 19 PHP
PHP判断字符串长度的两种方法很实用
Sep 22 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 PHP
laravel 自定义常量的两种方案
Oct 14 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 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
菜鸟修复电子管记
2021/03/02 无线电
如何在PHP中使用Oracle数据库(2)
2006/10/09 PHP
如何使用PHP中的字符串函数
2006/11/24 PHP
PHP中数组定义的几种方法
2013/09/01 PHP
php微信开发之上传临时素材
2016/06/24 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
jquery事件preventDefault()方法用法实例
2015/01/16 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
基于jquery实现在线选座订座之影院篇
2015/08/24 Javascript
百度地图给map添加右键菜单(判断是否为marker)
2016/03/04 Javascript
js判断手机浏览器操作系统和微信浏览器的方法
2016/04/30 Javascript
javascript 解决浏览器不支持的问题
2016/09/24 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
Angular处理未可知异常错误的方法详解
2021/01/17 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
django ajax发送post请求的两种方法
2020/01/05 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
Python爬取股票信息,并可视化数据的示例
2020/09/26 Python
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
英国在线药房:Express Chemist
2019/03/28 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
C#如何进行LDAP用户校验
2012/11/21 面试题
售后服务经理岗位职责
2014/02/25 职场文书
3的组成教学反思
2014/04/30 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
2014年党小组工作总结
2014/12/20 职场文书
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS