function _getUrlSafeName(&$record,$name) { $safe_name = strtolower($name); $safe_name = str_replace(array('ñ','ä','ü','ö','ß'),array('ny','ae','ue','oe','ss'), $safe_name); $safe_name = AkInflector::unaccent($safe_name); $specialCharsUnsafe =array("¡","!"," ","`","]","[","~","^","\\","|","}","{","%","#",">","<", "'",'"',"",'@','$','&', ',','/',':',';','=','?'); $specialCharsSafe = array("-exclamation-","-exclamation-","-","-accent-","-rbracket-","-lbracket-","-tilde-","-caret-","-backslash-","-pipe-","-rbrace-","-lbrace-","-percent-","-hash-","-more-","-less-", "","",'-','-at-','-dollar-','-and-', '-comma-','-or-','-colon-','-semicolon-','-equals-','-question-'); foreach (array_keys($record->sluggable->custom_replacements) as $customKey) { array_unshift($specialCharsUnsafe,$customKey); array_unshift($specialCharsSafe,$record->sluggable->custom_replacements[$customKey]); } $safe_name = str_replace($specialCharsUnsafe, $specialCharsSafe, $safe_name); $safe_name = preg_replace('/-+/','-',$safe_name); $safe_name = trim($safe_name,'-'); return $safe_name; }
static function urlize($text) { return trim(AkInflector::underscore(AkInflector::unaccent($text)), '_'); }
function Test_of_unnaccent() { $this->assertEqual('AAAAAAACEEEEIIIIDNOOOOOOUUUUYTsaaaaaaaceeeeiiiienoooooouuuuyty', AkInflector::unaccent('ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ')); }