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+Html+缓存
Nov 25 PHP
用PHP实现递归循环每一个目录
Aug 08 PHP
php通过session防url攻击方法
Dec 10 PHP
PHP获取一年有几周以及每周开始日期和结束日期
Aug 06 PHP
php文件上传 你真的掌握了吗
Nov 28 PHP
PHP检测数据类型的几种方法(总结)
Mar 04 PHP
PHP获取数组中单列值的方法
Jun 10 PHP
[原创]PHP实现SQL语句格式化功能的方法
Jul 28 PHP
浅析PHP开发规范
Feb 05 PHP
PHP levenshtein()函数用法讲解
Mar 08 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
Apr 06 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
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
2014/08/21 PHP
php生成随机数的三种方法
2014/09/10 PHP
php自定义apk安装包实例
2014/10/20 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
一个小型js框架myJSFrame附API使用帮助
2008/06/28 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
2011/09/13 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
JavaScript捕捉事件和阻止冒泡事件实例分析
2018/08/03 Javascript
webpack4 升级迁移的实现
2018/09/12 Javascript
详解React之key的使用和实践
2018/09/29 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
微信小程序云开发之数据库操作
2019/05/18 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
[02:45]DOTA2英雄敌法师基础教程
2013/11/25 DOTA
python实现数通设备端口监控示例
2014/04/02 Python
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
python学习之面向对象【入门初级篇】
2017/01/21 Python
python中模块查找的原理与方法详解
2017/08/11 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
Python实现定时执行任务的三种方式简单示例
2019/03/30 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
请解释在new与override的区别
2012/10/29 面试题
财务助理岗位职责范本
2014/10/09 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
严以用权学习心得体会
2016/01/12 职场文书
表扬信范文
2019/04/22 职场文书