/** * Odstraní diakritiku a speciální znaky z textového řetězce * * @author Michal ŠMAHEL (ceskyDJ) * @copyright (C) 2016 - současnost Michal ŠMAHEL, Vladislav Domin * * @param String $string Vstupní textový řetězec * * @var String $lower_case_string Převedený vstup na malá písmena * @var String $without_special_chars Odstraněna diakritika * @var String $without_problem_chars Odstraněny speciální znaky * * @return string Výsledný upravený řetězec (malými písmeny) */ function removeSpecialCharsFromString($string) { // Malými písmeny $lower_case_string = mb_strtolower($string); // Odstranění speciálních znaků (písmen s diakritikou) $without_special_chars = str_replace( array("á", "ä", "č", "ď", "é", "ě", "í", "ó", "ö", "ř", "š", "ť", "ů", "ú", "ü", "ý", "ž", "ď", "ť", "ň"), array("a", "a", "c", "d", "e", "e", "i", "o", "o", "r", "s", "t", "u", "u", "u", "y", "z", "d", "t", "n"), trim($lower_case_string) ); // Nahrazení nebezpečných znaků za pomlčky, textovou verzi případně jejich odstranění $without_problem_chars = str_replace( array(" - ", " ", ",", ".", "?", "!", "_", "%", ":", "|", "=", ")", "(", "[", "]", "&", ";", '\'', "\"", "€", "^", "<", ">", "#", '´', '+', '®', '™', '@'), array("-", "-", "", "", "", "", "-", "procent", "", "-", "-", "", "", "", "", "a", "", "", "", "euro", "", "", "", "id-", '', '-', '', '', ''), $without_special_chars ); return $without_problem_chars; }