Autor | Zpráva | ||
---|---|---|---|
starburst Profil |
#1 · Zasláno: 2. 3. 2009, 07:30:47
zdravím
potřeboval bych najít funkci, která oseká vložený řetězec o diakritiku. proste když vložím slovo řeřicha tak aby mi to vyplivlo rericha. nemůžu to nikde najít. a ještě bych potřeboval funkci která převede řetězec na malá písmena. prosím jestli někdo znáte tak mi pomožte. děkuji |
||
cistax Profil * |
#2 · Zasláno: 2. 3. 2009, 07:38:13
napis mi na icq: 483104828 budu tam dnes tak v 15:00 tu fci ti poslu, kdyz mi nenapises, pokusim se ji poslat sem. ok?
|
||
SwimX Profil |
#3 · Zasláno: 2. 3. 2009, 07:58:43
starburst
malá písmena strtolower(); diakritika: $text = str_ireplace( array("ě","š","č","ř","ž","ý","á","í","é","ů","ú", "ť", "ď", "ň"), array("e","s","c","r","z","y","a","i","e","u","u", "t", "d", "n"), $text); pouze upozornění: před verzí PHP 5 str_irepleace nebyla (incase-sensitive - nerozlišuje velikost písmen) -> Buď vypsat totéž i pro velká písmena nebo viz manuál php -> diskuse -> např: function make_pattern(&$pat, $key) { $pat = '/'.preg_quote($pat, '/').'/i'; } if(!function_exists('str_ireplace')){ function str_ireplace($search, $replace, $subject){ if(is_array($search)){ array_walk($search, 'make_pattern'); } else{ $search = '/'.preg_quote($search, '/').'/i'; } return preg_replace($search, $replace, $subject); } } cistax kterou fci chceš posílat? to je todle tak těžké napsat? a když někdo příde s podobným problémem, tak mu taky budeš psát na icq? |
||
starburst Profil |
#4 · Zasláno: 2. 3. 2009, 08:40:26 · Upravil/a: starburst
to SwimX:
děkuji moc. nevím jak takovy funkce hledat když neznám název jen co by to mělo dělat. asi to není problém sem napsat ale třeba ji nezná z paměti... to cistax: sem v práci takže se na ICQ nedostanu. to co napsal Swimx mi stačí. pokud znáš ještě jinou fci jak nahradit tu diaktiriku tak ji sem prosím taky napiš. kazdopadne děkuji starburst |
||
SwimX Profil |
#5 · Zasláno: 2. 3. 2009, 10:00:00
starburst
teď jsem narazil na eště trochu vylepšenou: function iso2ascii($text){ $convertTable = array ( 'á' => 'a', 'Á' => 'A', 'ä' => 'a', 'Ä' => 'A', 'č' => 'c', 'Č' => 'C', 'ď' => 'd', 'Ď' => 'D', 'é' => 'e', 'É' => 'E', 'ě' => 'e', 'Ě' => 'E', 'ë' => 'e', 'Ë' => 'E', 'í' => 'i', 'Í' => 'I', 'ï' => 'i', 'Ï' => 'I', 'ľ' => 'l', 'Ľ' => 'L', 'ĺ' => 'l', 'Ĺ' => 'L', 'ň' => 'n', 'Ň' => 'N', 'ń' => 'n', 'Ń' => 'N', 'ó' => 'o', 'Ó' => 'O', 'ö' => 'o', 'Ö' => 'O', 'ř' => 'r', 'Ř' => 'R', 'ŕ' => 'r', 'Ŕ' => 'R', 'š' => 's', 'Š' => 'S', 'ś' => 's', 'Ś' => 'S', 'ť' => 't', 'Ť' => 'T', 'ú' => 'u', 'Ú' => 'U', 'ů' => 'u', 'Ů' => 'U', 'ü' => 'u', 'Ü' => 'U', 'ý' => 'y', 'Ý' => 'Y', 'ÿ' => 'y', 'Ÿ' => 'Y', 'ž' => 'z', 'Ž' => 'Z', 'ź' => 'z', 'Ź' => 'Z', ); $return = strtr($text, $convertTable); return $return; } |
||
cistax Profil * |
#6 · Zasláno: 2. 3. 2009, 13:45:44
jj, budu tu fci sem jeste potom hodim
|
||
cistax Profil * |
#7 · Zasláno: 2. 3. 2009, 13:51:36
function BezDk($string)
{ $string = str_replace( array('ě','š','č','ř','ž','ý','á','í','é','ó','ů','ú','ň','ť','ď',' ','_','Ě','Š','Č','Ř','Ž','Ý','Á','Í','É','Ó','Ů','Ú','Ň','Ť','Ď'), array('e','s','c','r','z','y','a','i','e','o','u','u','n','t','d','-','-','E','S','C','R','Z','Y','A','I','E','O','U','U','N','T','D'), $string ); $string = strtolower($string); $pattern = '#([a-z0-9\-]+)#is'; $slug = ''; for($i = 0; $i < strlen($string); $i++) { if(preg_match($pattern,$string[$i])) $slug .= $string[$i]; } $url = $slug; return $url; } |
||
SwimX Profil |
#8 · Zasláno: 2. 3. 2009, 19:59:58
cistax
začátek jsem napsal už ve třetím příspěvku. V 5 jsem ji vylepšil. Tvuj regulár kontrolující řetězec po jednom znaku je brutální, proč ho nezkontroluješ celý naráz? |
||
blbec Profil * |
#9 · Zasláno: 3. 3. 2009, 17:06:57
cistax: tvůj kód není odstranění diakritiky, ale špatně napsaná výrobna permalinků
|
||
Radím Profil * |
#10 · Zasláno: 4. 3. 2009, 12:21:22
Napadá mě použít toto.
|
||
Časová prodleva: 15 let
|
0