实用函数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 相关文章推荐
PHP5.0对象模型探索之抽象方法和抽象类
Sep 05 PHP
PHP 学习路线与时间表
Feb 21 PHP
2个比较经典的PHP加密解密函数分享
Jul 01 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
Sep 10 PHP
php获取文件后缀的9种方法
Mar 22 PHP
深入理解PHP原理之执行周期分析
Jun 01 PHP
thinkphp自带验证码全面解析
Sep 18 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
PHP写的简单数字验证码实例
May 23 PHP
php使用curl模拟多线程实现批处理功能示例
Jul 25 PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 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
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
php安全配置记录和常见错误梳理(总结)
2017/03/28 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
JavaScript格式化数字的函数代码
2010/11/30 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
js中常用的Math方法总结
2017/01/12 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
微信小程序switch开关选择器使用详解
2018/01/31 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
Python异常学习笔记
2015/02/03 Python
python中lambda与def用法对比实例分析
2015/04/30 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
英国DVD和蓝光碟片购买网站:Zoom.co.uk(电影和电视)
2019/09/23 全球购物
JACK & JONES荷兰官网:男士服装和鞋子
2021/03/07 全球购物
个人求职简历中英文自我评价
2013/12/16 职场文书
企业消防安全制度
2014/02/02 职场文书
银行简历自我评价
2014/02/11 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
公司股权转让协议书
2014/04/12 职场文书
求职信标题怎么写
2014/05/26 职场文书
人力资源职位说明书
2014/07/29 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
股东出资证明书范例
2014/10/04 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书
叶问观后感
2015/06/15 职场文书
企业愿景口号
2015/12/25 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang