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 相关文章推荐
模拟OICQ的实现思路和核心程序(一)
Oct 09 PHP
php下使用curl模拟用户登陆的代码
Sep 10 PHP
完美实现wordpress禁止文章修订和自动保存的方法
Nov 03 PHP
PHP速成大法
Jan 30 PHP
php include类文件超时问题处理
Feb 06 PHP
php使用ob_flush不能每隔一秒输出原理分析
Jun 02 PHP
php封装的验证码工具类完整实例
Oct 19 PHP
PHP设置images目录不充许http访问的方法
Nov 01 PHP
PHP使用数组实现矩阵数学运算的方法示例
May 29 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
php多进程模拟并发事务产生的问题小结
Dec 07 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设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
记录mysql性能查询过程的使用方法
2013/05/02 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
JS 判断undefined的实现代码
2009/11/26 Javascript
理解Javascript_10_对象模型
2010/10/16 Javascript
node.js中的http.request.end方法使用说明
2014/12/10 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
js中不同的height, top的区别对比
2015/09/24 Javascript
jquery实现的判断倒计时是否结束代码
2016/02/05 Javascript
浅谈JQuery+ajax+jsonp 跨域访问
2016/06/25 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
jquery仿京东侧边栏导航效果
2017/03/02 Javascript
React进阶学习之组件的解耦之道
2017/08/07 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
Python实现获取网站PR及百度权重
2015/01/21 Python
python根据出生日期获得年龄的方法
2015/03/31 Python
Python虚拟环境virtualenv的安装与使用详解
2017/05/28 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
2021/03/03 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
New Balance波兰官方商城:始于1906年,百年慢跑品牌
2017/08/15 全球购物
zooplus意大利:在线宠物商店
2019/08/07 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
百度JavaScript笔试题
2015/01/15 面试题
学校师德师风整改方案
2014/10/28 职场文书
贷款工作证明模板
2015/06/12 职场文书
感恩主题班会教案
2015/08/12 职场文书
vue Element-ui表格实现树形结构表格
2021/06/07 Vue.js