Exemplo n.º 1
0
 private static function keyName($key)
 {
     return Filter::dirName($key);
 }
Exemplo n.º 2
0
 public function rewriteUrl($url, $keyword = null)
 {
     $_url = $url = trim($url, "\t\n\r\v. /");
     if (!array_key_exists($_url, self::$urlCache)) {
         // on supprime les params incomplet
         if (strpos($url, '{')) {
             $url = preg_replace('#/(?:[a-z0-9_]*)-\\{(?:[a-z0-9_]*)\\}#', '', $url);
             $url = preg_replace('#/{[a-z0-9_]*\\}#', '', $url);
         }
         if (strpos($url, '%7B')) {
             $url = preg_replace('#/%7B[a-z0-9_]*\\%7D#', '', $url);
         }
         self::$urlCache[$_url] = $url;
     } else {
         $url = self::$urlCache[$_url];
     }
     if (!empty($keyword)) {
         $keyword = (string) $keyword;
         if (!array_key_exists($keyword, self::$keywordCache)) {
             $kwd = Filter::dirName($keyword);
             $kwd = str_replace('_', '-', $kwd);
             $kwd = trim($kwd, '-');
             $kwd = preg_replace("#-{2,}#", '-', '+' . $kwd);
             self::$keywordCache[$keyword] = $kwd;
         } else {
             $kwd = self::$keywordCache[$keyword];
         }
         $url = preg_replace('#/$#', '', $url) . $kwd;
     }
     return $url;
 }