实用函数3


Posted in PHP onNovember 08, 2007

//获得当前的脚本网址

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","  
\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]);   
} 

//HTML表格的每行转为CSV格式数组 
function get_tr_array($table) {  
        $table = preg_replace("'<td[^>]*?>'si",'"',$table);  
        $table = str_replace("</td>",'",',$table);  
        $table = str_replace("</tr>","{tr}",$table);  
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 相关文章推荐
session 的生命周期是多长
Oct 09 PHP
投票管理程序
Oct 09 PHP
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
MySQL中create table语句的基本语法是
Jan 15 PHP
PHP strtotime函数详解
Dec 18 PHP
PHP转换文件夹下所有文件编码的实现代码
Jun 06 PHP
解析smarty模板中类似for的功能实现
Jun 18 PHP
php目录操作实例代码
Feb 21 PHP
phpnow php探针环境检测代码
Nov 04 PHP
php获取文件类型和文件信息的方法
Jul 10 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
Aug 23 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
Jul 13 PHP
实用函数2
Nov 08 #PHP
一个图形显示IP的PHP程序代码
Oct 19 #PHP
php在线生成ico文件的代码
Oct 09 #PHP
pw的一个放后门的方法分析
Oct 08 #PHP
使用 eAccelerator加速PHP代码的方法
Sep 30 #PHP
实现php加速的eAccelerator dll支持文件打包下载
Sep 30 #PHP
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 #PHP
You might like
为你总结一些php信息函数
2015/10/21 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
实例化php类时传参的方法分析
2020/06/05 PHP
IE DOM实现存在的部分问题及解决方法
2009/07/25 Javascript
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2009/12/15 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
jQuery简单图表peity.js使用示例
2014/05/02 Javascript
js删除局部变量的实现方法
2016/06/25 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
2016/08/10 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
python利用requests库模拟post请求时json的使用教程
2018/12/07 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
Amcal中文官网:澳洲综合性连锁药房
2019/03/28 全球购物
linux面试题参考答案(10)
2016/10/26 面试题
应届毕业生求职信范文
2013/12/18 职场文书
《山谷中的谜底》教学反思
2014/04/26 职场文书
热情服务标语
2014/10/07 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
转变工作作风心得体会
2016/01/23 职场文书
详解CSS开发过程中的20个快速提升技巧
2021/05/21 HTML / CSS
javascript的setTimeout()使用方法总结
2021/11/20 Javascript
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL