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 相关文章推荐
PHP 中的类
Oct 09 PHP
PHP一些常用的正则表达式字符的一些转换
Jul 29 PHP
php session安全问题分析
Jun 24 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
php去掉文件前几行的方法
Jul 29 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
Sep 20 PHP
php中请求url的五种方法总结
Jul 13 PHP
php表单文件iframe异步上传实例讲解
Jul 26 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
Apr 04 PHP
php探针使用原理和技巧讲解
Sep 17 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 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
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
2013/06/24 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
php array_merge_recursive 数组合并
2016/10/26 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
PHP读取word文档的方法分析【基于COM组件】
2017/08/01 PHP
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
超棒的响应式布局jQuery插件Freetile.js
2014/11/17 Javascript
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
使用JavaScript实现一个小程序之99乘法表
2017/09/21 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
详解JavaScript作用域和作用域链
2019/03/19 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
实例详解带参数的 npm script
2019/05/28 Javascript
解决layer 动态加载select 失效的问题
2019/09/18 Javascript
vue实现在线翻译功能
2019/09/27 Javascript
Python 爬虫图片简单实现
2017/06/01 Python
keras得到每层的系数方式
2020/06/15 Python
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
毕业生求职简历中的自我评价
2013/10/18 职场文书
影视动画专业个人的自我评价
2013/12/31 职场文书
庆元旦迎新年广播稿
2014/02/18 职场文书
传播学专业毕业生自荐书
2014/07/01 职场文书
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python
动视暴雪取消疫苗禁令 让所有员工返回线下工作
2022/04/03 其他游戏