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 相关文章推荐
综合图片计数器
Oct 09 PHP
PHP安装攻略:常见问题解答(二)
Oct 09 PHP
php中的登陆login
Jan 18 PHP
PHP XML操作类DOMDocument
Dec 16 PHP
浅析is_writable的php实现
Jun 18 PHP
PHP生成sitemap.xml地图函数
Nov 13 PHP
php过滤html标记属性类用法实例
Sep 23 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
Oct 14 PHP
Joomla语言翻译类Jtext用法分析
May 05 PHP
PHP __call()方法实现委托示例
May 20 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
Apr 07 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
2006/12/14 PHP
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
延长phpmyadmin登录时间的方法
2011/02/06 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
PHP实现货币换算的方法
2014/11/29 PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
PHP中number_format()函数的用法讲解
2019/04/08 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
2013/11/22 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
2016/04/01 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
2017/09/06 Python
python如何定义带参数的装饰器
2018/03/20 Python
python3利用venv配置虚拟环境及过程中的小问题小结
2018/08/01 Python
django富文本编辑器的实现示例
2019/04/10 Python
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
大学自主招生自荐信
2013/12/16 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
中英文求职信范文
2015/03/19 职场文书
致我们终将逝去的青春观后感
2015/06/10 职场文书
任长霞观后感
2015/06/16 职场文书
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang
低门槛开发iOS、Android、小程序应用的前端框架详解
2021/10/16 Javascript
MySQL和Oracle批量插入SQL的通用写法示例
2021/11/17 MySQL
Python实现视频自动打码的示例代码
2022/04/08 Python
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers