在Yii中解析URL

时间:2013-07-19 13:47:25

标签: yii yii-url-manager

如何解析显示格式的网址

http://localhost/CorrectCodeToDeploy/healthkatta/index.php?r=site%2FArticle%2F2013%2F07%2F13%2FDisadvantages-of-smoking-51e12690a5a58

想要删除特殊字符%2F并改为放置/。我已经将一篇文章链接到了facebook 但当我从Facebook访问此链接时,它的格式如上所述,并且内容未在Yii中正确访问。如何在yii中编写模式以访问此类网址

2 个答案:

答案 0 :(得分:1)

您只需使用urldecode()功能

即可

答案 1 :(得分:1)

也许您可以在index.php文件中直接解码$ _GET,例如:

$_GET = array_map('urldecode', $_GET);

请注意上面的内容不适用于嵌套数组,所以你需要创建一个更深入的递归函数,如(不测试):

function urldecodeArray($strArr){
    if (!is_string($strArr) && !is_array($strArr)) {
       return $strArr;
    }
    if(is_string($strArr)) {
        return urldecode($strArr);
    }
    foreach ($strArr as $key=>$value) {
       $strArr[$key] = urldecodeArray($value);
    }
    return $strArr;
}
$_GET = urldecodeArray($_GET);