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实现维护文件代码
Jun 14 PHP
Admin generator, filters and I18n
Oct 06 PHP
Ajax+PHP快速上手及简单应用说明
Jul 24 PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 PHP
Yii数据读取与跳转参数传递用法实例分析
Jul 12 PHP
php基于curl实现的股票信息查询类实例
Nov 11 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 PHP
PHP7.3.10编译安装教程
Oct 08 PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 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 开发工具
2006/12/06 PHP
php短址转换实现方法
2015/02/25 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
大家未必知道的Js技巧收藏
2008/04/07 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
JavaScript动态添加style节点的方法
2015/06/09 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
[48:48]完美世界DOTA2联赛PWL S3 Magama vs GXR 第一场 12.19
2020/12/24 DOTA
小结Python用fork来创建子进程注意事项
2014/07/03 Python
Python装饰器语法糖
2019/01/02 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
python 实现敏感词过滤的方法
2019/01/21 Python
Python3.4解释器用法简单示例
2019/03/22 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
python 中如何获取列表的索引
2019/07/02 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
Python callable内置函数原理解析
2020/03/05 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
Manjaro、pip、conda更换国内源的方法
2020/11/17 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
Staples加拿大官方网站:办公用品一站式采购
2016/09/25 全球购物
音乐教学反思
2014/02/02 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
外出培训学习心得体会
2016/01/18 职场文书
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python