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
dedecms中常见问题修改方法总结
Mar 21 PHP
防止用户利用PHP代码DOS造成用光网络带宽
Mar 01 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
Jun 20 PHP
ThinkPHP框架设计及扩展详解
Nov 25 PHP
PHP实现中文圆形印章特效
Jun 19 PHP
Yii控制器中操作视图js的方法
Jul 04 PHP
php实现基于openssl的加密解密方法
Sep 30 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
Mar 22 PHP
laravel实现上传图片的两种方式小结
Oct 12 PHP
goto语法在PHP中的使用教程
Sep 17 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 $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
2010/06/21 PHP
php中使用redis队列操作实例代码
2013/02/07 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
JS简单计算器实例
2015/01/20 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
2019/06/24 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
Python中将字典转换为列表的方法
2016/09/21 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
学习python分支结构
2019/05/17 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
python 安装移动复制第三方库操作
2020/07/13 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
Python实现画图软件功能方法详解
2020/07/28 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
python 制作网站小说下载器
2021/02/20 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
SHEIN美国:购买时髦的女性服装
2020/12/02 全球购物
电脑教师的教学自我评价
2013/11/26 职场文书
计算机专业推荐信范文
2013/11/27 职场文书
应征英语教师求职信
2013/11/27 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
爱国主义演讲稿
2014/05/07 职场文书
企业负责人任命书
2014/06/05 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
财务稽核岗位职责
2015/04/13 职场文书
试用期解除劳动合同通知书
2015/04/16 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
vue里使用create, mounted调用方法
2022/04/26 Vue.js