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 开发工具
Dec 06 PHP
PHP 程序员应该使用的10个组件
Oct 31 PHP
浅析echo(),print(),print_r(),return之间的区别
Nov 27 PHP
ThinkPHP让分页保持搜索状态的方法
Jul 02 PHP
PHP图片处理之图片旋转和图片翻转实例
Nov 19 PHP
YII使用url组件美化管理的方法
Dec 28 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
Mar 21 PHP
PHP实现的DES加密解密实例代码
Apr 06 PHP
php 访问oracle 存储过程实例详解
Jan 08 PHP
解决laravel5.4下的group by报错的问题
Oct 16 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
Nov 04 PHP
laravel框架创建授权策略实例分析
Nov 22 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
Zend Guard一些常见问题解答
2008/09/11 PHP
php实现可逆加密的方法
2015/08/11 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
2016/01/12 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
js实现页面刷新滚动条位置不变
2016/11/27 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
vue 组件 全局注册和局部注册的实现
2018/02/28 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
2018/07/23 jQuery
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
vue结合el-upload实现腾讯云视频上传功能
2020/07/01 Javascript
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
原生JavaScript实现幻灯片效果
2021/02/19 Javascript
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
python中as用法实例分析
2015/04/30 Python
理解python正则表达式
2016/01/15 Python
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
Python类的继承用法示例
2019/01/31 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
Python Process创建进程的2种方法详解
2021/01/25 Python
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
酒店服务实习自我鉴定
2013/09/22 职场文书
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
财政局长个人总结
2015/03/04 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
Django路由层如何获取正确的url
2021/07/15 Python
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL