一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php实现字符转URL实现代码

时间:2014-05-26 编辑:简简单单 来源:一聚教程网

英文:

 代码如下 复制代码

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 '
百度关键词URL编码转换示例:
'; 

$urlBaidu = 'http://www.baidu.com/s?wd=%D6%D0%CE%C4'; 

$arrParse = parse_url($urlBaidu); 

parse_str($arrParse ['query'],$output); 

echo '乱码:' . $output['wd'] . '
';  
//将gb2312编码转换成utf-8编码 

$strUTF8 = mb_convert_encoding($output['wd'], 'utf-8', 'gb2312'); 

echo '可读码:' . $strUTF8 . '
';  

echo '
谷歌关键词URL编码转换示例:
'; 

$urlGoogle = 'http://www.google.cn/search?hl=zh-CN&source=hp&q=%E4%B8%AD%E6%96%87&aq=f&oq='; 
    
$arrParse = parse_url($urlGoogle); 

parse_str($arrParse ['query'],$output); 
//谷歌关键词URL编码是utf-8,不用再作转换 

echo '可读码:' . $output['q'] . '
';

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

热门栏目