好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

php实现字符转URL实现代码

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

英文,代码如下:

function  tourl( $str ) {     $str  = preg_replace( '/[^a-zA-Z0-9]+/' ,  '-' ,  $str );     $str  = trim( $str ,  '-' );     return   strtolower ( $str );  } 

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

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

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

header( 'Content-type: text/html; charset=utf-8' );          echo   '<br />百度关键词URL编码转换示例:<br />' ;     $urlBaidu  =  'http://HdhCmsTestbaidu测试数据/s?wd=%D6%D0%CE%C4' ;     $arrParse  =  parse_url ( $urlBaidu );     parse_str ( $arrParse  [ 'query' ], $output );     echo   '乱码:'  .  $output [ 'wd' ] .  '<br />' ;     //将gb2312编码转换成utf-8编码      $strUTF8  = mb_convert_encoding( $output [ 'wd' ],  'utf-8' ,  'gb2312' );     echo   '可读码:'  .  $strUTF8  .  '<br />' ;      echo   '<br />谷歌关键词URL编码转换示例:<br />' ;     $urlGoogle  =  'http://HdhCmsTestgoogle.cn/search?hl=zh-CN&source=hp&q=%E4%B8%AD%E6%96%87&aq=f&oq=' ;           $arrParse  =  parse_url ( $urlGoogle );   //开源代码phpfensi测试数据   parse_str ( $arrParse  [ 'query' ], $output );    //谷歌关键词URL编码是utf-8,不用再作转换      echo   '可读码:'  .  $output [ 'q' ] .  '<br />' ; 

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

查看更多关于php实现字符转URL实现代码 - php函数的详细内容...

  阅读:54次