PHP 采集程序 常用函数


Posted in PHP onDecember 18, 2008

当前的脚本网址
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 相关文章推荐
Smarty模板快速入门
Jan 04 PHP
php结合飞信 免费天气预报短信
May 07 PHP
在windows服务器开启php的gd库phpinfo中未发现
Jan 13 PHP
php的dl函数用法实例
Nov 06 PHP
php数组索引与键值操作技巧实例分析
Jun 24 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
Dec 28 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
PHP检测数据类型的几种方法(总结)
Mar 04 PHP
PHP获取ttf格式文件字体名的方法示例
Mar 06 PHP
php字符串截取函数mb_substr用法实例分析
Jun 25 PHP
HTTP头隐藏PHP版本号实现过程解析
Dec 09 PHP
让你的PHP,APACHE,NGINX支持大文件上传
Mar 09 PHP
php IP及IP段进行访问限制的代码
Dec 17 #PHP
php mssql 数据库分页SQL语句
Dec 16 #PHP
linux下 C语言对 php 扩展
Dec 14 #PHP
php 文件状态缓存带来的问题
Dec 14 #PHP
快速开发一个PHP扩展图文教程
Dec 12 #PHP
PHP Google的translate API代码
Dec 10 #PHP
php escape URL编码
Dec 10 #PHP
You might like
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
(function(){})()的用法与优点
2007/03/11 Javascript
js 编写规范
2010/03/03 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
JavaScript操作XML 使用百度RSS作为新闻源示例
2012/02/17 Javascript
jQuery绑定事件不执行但alert后可以正常执行
2014/06/03 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
2014/07/18 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
JavaScript实现拖拽网页内元素的方法
2015/04/15 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
JavaScript定时器setTimeout()和setInterval()详解
2017/08/18 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
python实现堆和索引堆的代码示例
2018/03/19 Python
Python使用MD5加密算法对字符串进行加密操作示例
2018/03/30 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
python reverse反转部分数组的实例
2018/12/13 Python
python交互界面的退出方法
2019/02/16 Python
Python学习笔记之集合的概念和简单使用示例
2019/08/22 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
python3.7调试的实例方法
2020/07/21 Python
世界上最好的帽子:Tilley
2016/11/27 全球购物
最新销售员个人自荐信
2013/09/21 职场文书
中专毕业生自我鉴定
2013/11/21 职场文书
投标邀请书范文
2014/01/31 职场文书
一岗双责责任书
2014/04/15 职场文书
社区两委对照检查材料
2014/08/23 职场文书
横店影视城导游词
2015/02/06 职场文书
实习推荐信格式模板
2015/03/27 职场文书
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
vue递归实现树形组件
2022/07/15 Vue.js