网站地图    收藏   

主页 > php专栏 > php函数大全 >

php实现字符转URL实现代码 - php函数

来源:自学PHP网    时间:2014-11-25 00:26 作者: 阅读:

[导读] 在php中函数自带了一个url转换字符或字符转换在url字符的方法,但是今天我也看到了一个朋友写的一个例子,下面我就把它现官方的函数整理一起.英文,代码如下:functiontourl($str){$str=preg_re...

php实现字符转URL实现代码

在php中函数自带了一个url转换字符或字符转换在url字符的方法,但是今天我也看到了一个朋友写的一个例子,下面我就把它现官方的函数整理一起.

英文,代码如下:

  1. function tourl($str) { 
  2.   $str = preg_replace('/[^a-zA-Z0-9]+/''-'$str); 
  3.   $str = trim($str'-'); 
  4.   return strtolower($str); 

包含特殊字符,代码如下:

  1. function strtourl($str) { 
  2.   $str = htmlentities($str, ENT_QUOTES, "UTF-8"); 
  3.   $str = preg_replace('/&([a-z]{1,2})(?:acute|lig|grave|ring|tilde|uml|cedil|caron);/i','1',$str); 
  4.   $str = html_entity_decode($str, ENT_QUOTES, "UTF-8"); 
  5.   $str = preg_replace('/[^a-z0-9]+/i''-'$str); 
  6.   return strtolower($str); 

urlencode函数,此函数可以解决百度get与google get中文乱码问题,代码如下:

  1. header('Content-type: text/html; charset=utf-8');    
  2.     
  3. echo '<br />百度关键词URL编码转换示例:<br />';  
  4.  
  5. $urlBaidu = 'http://www.baidu.com/s?wd=%D6%D0%CE%C4';  
  6.  
  7. $arrParse = parse_url($urlBaidu);  
  8.  
  9. parse_str($arrParse ['query'],$output);  
  10.  
  11. echo '乱码:' . $output['wd'] . '<br />';    
  12. //将gb2312编码转换成utf-8编码  
  13.  
  14. $strUTF8 = mb_convert_encoding($output['wd'], 'utf-8''gb2312');  
  15.  
  16. echo '可读码:' . $strUTF8 . '<br />';   
  17.  
  18. echo '<br />谷歌关键词URL编码转换示例:<br />';  
  19.  
  20. $urlGoogle = 'http://www.google.cn/search?hl=zh-CN&source=hp&q=%E4%B8%AD%E6%96%87&aq=f&oq=';   
  21.       
  22. $arrParse = parse_url($urlGoogle);  
  23. //开源代码phpfensi.com 
  24. parse_str($arrParse ['query'],$output);   
  25. //谷歌关键词URL编码是utf-8,不用再作转换  
  26.  
  27. echo '可读码:' . $output['q'] . '<br />'

总结:个人更喜欢使用php自带urlencode()函数,上面这个也是解决我们url用中文时百度与gg有时会乱码问题解决方案了.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论