示例#1
0
 /**
  * @param $text
  *
  * @return string
  */
 public static function toUrl($text)
 {
     $text = Pimcore_Tool_Transliteration::toASCII($text);
     $search = array('?', '\'', '"', '/', '-', '+', '.', ',', ';', '(', ')', ' ', '&', 'ä', 'ö', 'ü', 'Ä', 'Ö', 'Ü', 'ß', 'É', 'é', 'È', 'è', 'Ê', 'ê', 'E', 'e', 'Ë', 'ë', 'À', 'à', 'Á', 'á', 'Å', 'å', 'a', 'Â', 'â', 'Ã', 'ã', 'ª', 'Æ', 'æ', 'C', 'c', 'Ç', 'ç', 'C', 'c', 'Í', 'í', 'Ì', 'ì', 'Î', 'î', 'Ï', 'ï', 'Ó', 'ó', 'Ò', 'ò', 'Ô', 'ô', 'º', 'Õ', 'õ', 'Œ', 'O', 'o', 'Ø', 'ø', 'Ú', 'ú', 'Ù', 'ù', 'Û', 'û', 'U', 'u', 'U', 'u', 'Š', 'š', 'S', 's', 'Ž', 'ž', 'Z', 'z', 'Z', 'z', 'L', 'l', 'N', 'n', 'Ñ', 'ñ', '¡', '¿', 'Ÿ', 'ÿ', "_", ":");
     $replace = array('', '', '', '', '-', '', '', '-', '-', '', '', '-', '', 'ae', 'oe', 'ue', 'Ae', 'Oe', 'Ue', 'ss', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'A', 'a', 'A', 'a', 'A', 'a', 'a', 'A', 'a', 'A', 'a', 'a', 'AE', 'ae', 'C', 'c', 'C', 'c', 'C', 'c', 'I', 'i', 'I', 'i', 'I', 'i', 'I', 'i', 'O', 'o', 'O', 'o', 'O', 'o', 'o', 'O', 'o', 'OE', 'O', 'o', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'S', 's', 'S', 's', 'Z', 'z', 'Z', 'z', 'Z', 'z', 'L', 'l', 'N', 'n', 'N', 'n', '', '', 'Y', 'y', "-", "-");
     $value = urlencode(str_replace($search, $replace, $text));
     return $value;
 }
示例#2
0
 public function jsonTransliterationAction()
 {
     $this->getResponse()->setHeader("Content-Type", "text/javascript", true);
     $translitTable = Pimcore_Tool_Transliteration::getTransliterationTable();
     $search = array();
     $replace = array();
     foreach ($translitTable as $s => $r) {
         $search[] = $s;
         $replace[] = $r;
     }
     $this->view->transliteration = array("search" => $search, "replace" => $replace);
 }
示例#3
0
文件: File.php 项目: ngocanh/pimcore
 /**
  * @static
  * @param  $tmpFilename
  * @return string
  */
 public static function getValidFilename($tmpFilename)
 {
     $tmpFilename = Pimcore_Tool_Transliteration::toASCII($tmpFilename);
     $validChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_.~";
     $filenameParts = array();
     for ($i = 0; $i < strlen($tmpFilename); $i++) {
         if (strpos($validChars, $tmpFilename[$i]) !== false) {
             $filenameParts[] = $tmpFilename[$i];
         } else {
             $filenameParts[] = "_";
         }
     }
     return strtolower(implode("", $filenameParts));
 }