【www.bbyears.com--英文短信】
英文:
代码如下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有时会乱码问题解决方案了。