Autor | Zpráva | ||
---|---|---|---|
Pojišťovák Profil |
#1 · Zasláno: 29. 4. 2006, 00:37:48
Dobrý den, mám v jednom zdrojáku tuto funkci:
# if anyone can help with international translations please correct the file and upload function strip($convert_me) { $strip_array = array("'",chr(33),chr(34),chr(35),chr(36),chr(37),chr(38),chr(39),chr(4 0),chr(41),chr(42),chr(43),chr(44),chr(45),chr(46),chr(47),chr(58),chr (59),chr(60),chr(61),chr(62),chr(63),chr(91),chr(92),chr(93),chr(94),c hr(95),chr(96),chr(123),chr(124),chr(125),chr(126) ); $convert_me = str_replace($strip_array, '', $convert_me); $convert_me = str_replace(array(' ', ' ', '__', '--'), '-', $convert_me); $convert_me = strtolower($convert_me); return $convert_me; } Chápu to dobře, že tato funkce umí přepsat například "č" na "c", "š" na "s" a podobně? Jestli ano, v jakém tvaru tam mám dopsat tyto znaky? Díky za každou pomoc, PHP mi moc nejde. |
||
rabbit Profil |
#2 · Zasláno: 29. 4. 2006, 00:42:53 · Upravil/a: rabbit
A co takhle čtení manuálu? ;-)
Popisy funkcí: string chr ( int ascii ) a ještě důležitější str_replace ( string needle, string str, string haystack [, int &count] ) ... hlavně by tě mohlo zajímat následující: Pokud jsou parametry search a replace pole, funkce str_replace() bere hodnoty těchto polí a používá je pro vyhledávání a nahrazení v parametru subject. Pokud má parametr replace méně hodnot než parametr search, tak se pro chybějící hodnoty použije prázdný řetězec. Pokud je parametr search pole a parametr replace je řetězec, tak se tento řetězec použije pro každou hodnotu parametru search. |
||
Pojišťovák Profil |
#3 · Zasláno: 29. 4. 2006, 00:51:40
No vidíš, já doteď netušil že chr je funkce...jdu se na to podívat, díky za odkaz..snad to zvládnu...
|
||
rabbit Profil |
#4 · Zasláno: 29. 4. 2006, 00:59:50
Hele, ty tu funkci chr() ani nepotřebuješ ... ta funkce strip($convert_me) ve skutečnosti ty znaky zadané v poli $strip_array (pomocí ascii kódu a funkce chr()) maže. Poznáš to podle toho, že v řádku
$convert_me = str_replace($strip_array, '', $convert_me); je druhý argument funkce str_replace prázdný řetězec (ty dva apostrofy). Co vlastně potřebuješ ty? Nahradit č za c atp.? |
||
Pojišťovák Profil |
#5 · Zasláno: 29. 4. 2006, 01:07:39
Ano, jde o to, že tahle funkce má z URL dostat znaky co tam nepatří. Byl bych vděčný kdybys mi ukázal jak to tam dostat, já v tom plavu až to hezký není:-((
|
||
rabbit Profil |
#6 · Zasláno: 29. 4. 2006, 01:30:55 · Upravil/a: rabbit
Tak ty znaky, co jsou v tom poli $strip_array, jsou tyto (snad se to tu zobrazí):
' ! " # $ % & ' ( ) * + , - . / : ; < = > ? [ \ ] ^ _ ` { | } ~ což je asi i dobře, že se odstraní. Pokud chceš odstranit české znaky, vlož si před řádek obsahující return $convert_me;:
Nevypisoval jsem ti všechny české znaky, doplnit si to snad zvládneš. Stačí malá písmena, předchozí funkce strtolower() ti ten řetězec už zkonvertovala na pouze malá písmena. |
||
Pojišťovák Profil |
#7 · Zasláno: 29. 4. 2006, 01:38:12
Ok, díky moc, jdu to vyzkoušet..aspoň mám do rána co dělat..dám pak vědět:-)
|
||
Pojišťovák Profil |
#8 · Zasláno: 29. 4. 2006, 03:20:46
Tak jsem z toho nějak vedle....Když tam dám to co jsi mi napsal, tak nic..
Když ale upravím řádek: $convert_me = str_replace(array(' ', ' ', '__', '--'), '-', $convert_me); třeba ma $convert_me = str_replace(array(' ', ' ', '__', '--'), 'a', $convert_me); tak to opravdu vymění pomlčku za a..ale jinak to proste nefunguje... |
||
mig Profil * |
#9 · Zasláno: 29. 4. 2006, 06:29:52
|
||
krteczek Profil |
#10 · Zasláno: 29. 4. 2006, 09:11:27
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0