0

如何解析格式如图所示的Url

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

想去掉特殊字符%2F而换上/。我已将一篇文章的链接分享到 facebook
,但是当我从 facebook 访问此链接时,它采用上述格式,并且在 Yii 中无法正确访问内容。如何编写模式以在 yii 中访问此类 url

4

2 回答 2

1

你可以只使用urldecode()功能

于 2013-07-19T14:01:09.680 回答
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);
于 2013-07-19T14:13:26.813 回答