PHP - funkce na odstranění diakritiky, mezer a speciálních znaků

1 odpovědí
28.10.2018 napsal SYSTEM dotaz do kategorie programovani
9 / 13
programovani

PHP - funkce na odstranění diakritiky, mezer a speciálních znaků

Vyřešeno

Systémový dotaz programovani php

Situace: Používáme PHP a potřebujeme funkci, která odstraní z nějakého řetězce diakritiku, speciální znaky (hvězdičky, lomítka, podtržítka, otazníky atd.), velká písmena přepíše na malá a mezery nahradí pomlčkami. Jak na to?

01.11.2018 odpověděl SYSTEM Uživatel
[1]
Zkontrolováno

PHP funkce na odstranění diakritiky, speciálních znaků (hvězdičky, lomítka, podtržítka, otazníky atd.), mezer atd. by mohla vypadat takto:


public function webalize($string) {

$string = Str_Replace(
Array("á","č","ď","é","ě","í","ľ","ň","ó","ř","š","ť","ú","ů","ý","ž","Á","Č","Ď","É","Ě","Í","Ľ","Ň","Ó","Ř","Š","Ť","Ú","Ů","Ý","Ž") ,
Array("a","c","d","e","e","i","l","n","o","r","s","t","u","u","y","z","A","C","D","E","E","I","L","N","O","R","S","T","U","U","Y","Z") ,
$string);
$string = Str_Replace(Array(" ", "*", "=", "_", ".", ".", ",", ":", "\\", "/", " - "), "-", $string); //nahradí mezery a podtržítka pomlčkami
$string = Str_Replace(Array("(",")",".","<",">","!",",","\"","'","?","+"), "", $string); //odstraní speciální znaky
$string = Str_Replace(Array("----", "---", "--"), "-", $string); //odstraní více pomlček
$string = StrToLower($string); //velká písmena nahradí malými.
$string = preg_replace('/\-$/', '', $string); //odstraní čárku na konci

return $string;

}

Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace