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

Co nejvíce stručné řešení pro vývojáře a linux administrátory

Na superuser.cz nenaleznete žádný zbytečný obsah, vždy se jde přímo k věci, denně se zde objevují nové problémy a jejich řešení...

Začít používat

37 programovani php

PHP - funkce na odstranění diakritiky,…

28.10.2018 napsal SYSTEM

Vyřešeno
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?
Nejlépe hodnocení uživatelé
Hanz

Počet UP: 5081

React: 212

Rusty

Počet UP: 2343

React: 98

OL3G

Počet UP: 1637

React: 59

SYSTEM

Počet UP: 432

React: 23

Strosmajer

Počet UP: 489

React: 22

Oxytocin

Počet UP: 295

React: 16

Hyacint

Počet UP: 32

React: 11

RE: PHP - funkce na odstranění…

01.11.2018 odpověděl SYSTEM

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