实用函数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 相关文章推荐
一些常用的php简单命令代码集锦
Sep 24 PHP
用php将任何格式视频转为flv的代码
Sep 03 PHP
分享一下贝贝成长进度的php代码
Sep 14 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Aug 15 PHP
PHP中$this和$that指针使用实例
Jan 06 PHP
php脚本运行时的超时机制详解
Feb 17 PHP
基于php实现的验证码小程序
Dec 13 PHP
PHP用函数嵌入网站访问量计数器
Oct 27 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
PHPUnit + Laravel单元测试常用技能
Nov 06 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
实现树状结构的两种方法
2006/10/09 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
php微信开发之谷歌测距
2018/06/14 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
谈谈Vue.js——vue-resource全攻略
2017/01/16 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
2017/02/17 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
js实现简单掷骰子效果
2019/10/24 Javascript
深入浅出学习python装饰器
2017/09/29 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
kali中python版本的切换方法
2019/07/11 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
2020/04/24 Python
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
城市轨道专业个人求职信范文
2013/09/23 职场文书
青年教师典范事迹材料
2014/01/31 职场文书
优秀驾驶员先进事迹材料
2014/05/04 职场文书
预备党员综合考察材料
2014/05/31 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
群众路线教育实践活动调研报告
2014/11/03 职场文书
2014年护理部工作总结
2014/11/14 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技