/**
* Odstraní diakritiku a speciální znaky z textového řetězce
*
* @author Michal ŠMAHEL (ceskyDJ) <[email protected]>
* @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;
}
Comments