Autor | Zpráva | ||
---|---|---|---|
peteo Profil |
#1 · Zasláno: 16. 3. 2011, 15:32:44
Dobrý deň,
mám dve polia premenných: $stare=array('á','ä','ą','â','ă','å','à','æ','â','à','å','æ','ă','à','â','ã','å','æ','č','ć','ç','ç','ç','ď','đ','đ','é','ę','ë','ě','è','ê','è','ê','ę','ě','ê','é','ë','í','î','ì','ï','ì','í','î','ï','ì','î','ï','ľ','ĺ','ň','ń','ñ','ñ','ñ','ó','ô','ö','ő','ò','õ','ő','ó','ô','õ','ö','ö','ř','ŕ','š','ś','ť','ţ','ţ','ú','ů','ű','ù','û','ü','ű','ù','û','ü','ü','ý','ž','ź','y','ý','<','>','"','Ž',',',':','Č','.','+'); $nove=array('a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','a','c','c','c','c','c','d','d','d','e','e','e','e','e','e','e','e','e','e','e','e','e','i','i','i','i','i','i','i','i','i','i','i','l','l','n','n','n','n','n','o','o','o','o','o','o','o','o','o','o','o','o','r','r','s','s','t','t','t','u','u','u','u','u','u','u','u','u','u','u','y','z','z','i','i','','','','z','','','c','',''); pomocou nich príkazom $slovo_ci[$j] = str_replace($stare,$nove,$slovo[$j]); prevádzam diakritiku písmen na reťazec bez diakritiky. To je v poriadku. Ale potreboval by som, aby si zámenu jednotlivých znakov mohol užívateľ previesť i sám (predchádzajúce využívam pri prehľadávaní rozsiahleho textu), a to asi tak, že na stránkach "voľby" by si zvolil sám, ako chce znaky zamieňať, teda napr. i zámenu s-z (ktorá nie je vyššie definovaná). Chcel by som vedieť, ako by som potom priradil túto zámenu do premennych $stare=array $nove=array z z nejakého predávaného atribútu, napr. zs, sz, stavy (hodnoty) 0/1 $zmen_s_z = $_GET["sz"]; $zmen_z_s = $_GET["zs"]; štandartne by bolo predávaný parameter ...&zs=0&sz=0, lebo zámena nie je definovaná, pri ...&zs=1 (alebo ...&sz=1) by bola zámena pridaná (za podmienky, že naráz nemôže byť ...&zs=1 a ...&sz=1, ale to už by som vedel ošetriť). (snáď je to zrozumiteľne) Ďakujem za radu. |
||
Darker Profil |
#2 · Zasláno: 16. 3. 2011, 15:39:03 · Upravil/a: Darker
Pošleš:
=á&za[]=a]http://adresa.cz/program.php?co[]=á&za[]=a a tak dále. Vznikne pole, jako to nahoře. tedy $_GET=array( co=array(0=>á) za=array(0=>a) ) Pole lze spojit funkcí array_merge. EDIT: panther: Předběhls mě, ale myslel jsem, že chce zaměňovat víc než jeden znak. |
||
panther Profil |
#3 · Zasláno: 16. 3. 2011, 15:39:03
peteo:
Asi bude lépe použít dvě proměnné, jejichž hodnota budou inkriminované znaky. ?co=s&za=z str_replace ($_GET['co'], $_GET['za'], $slovo); |
||
peteo Profil |
#4 · Zasláno: 16. 3. 2011, 16:31:50
OKI.
predpokladajme: polia $stare=array() a $nove=array() neboli definovane. Má byť teda: $stare=array($stare, $_GET["sz"]=1 => 's'); $nove=array($stare, $_GET["sz"]=1 => 'z') keď tam chcem pridať viac viac premennych: $stare=array($stare, $_GET["sz"]=1 => 's',$_GET["a1"]=1 => 'á'); $nove=array($stare, $_GET["sz"]=1 => 'z',$_GET["a1"]=1 => 'a'); Musím polia polia $stare=array() a $nove=array() deklarovať pred prvým použitím? Ďakujem |
||
Darker Profil |
#5 · Zasláno: 16. 3. 2011, 17:10:05
To cos tu teď napsal naprosto nestíhám.
Npříklad toto: $stare=array($stare, $_GET["sz"]=1 => 's',$_GET["a1"]=1 => 'á'); $nove=array($stare, $_GET["sz"]=1 => 'z',$_GET["a1"]=1 => 'a'); Přiřazuješ při definování hodnot v poli? Pokud máš pole $stare a jako jednu z jeho hodnot zadáš $stare, vznikne ti dvou rozměrné pole. |
||
peteo Profil |
#6 · Zasláno: 16. 3. 2011, 17:21:04
jasné, chyba v zápise.
rozmýšľam o tejto konštrukcii: $stare=array($stare, $_GET["sz"]=1 => 's',$_GET["a1"]=1 => 'á'); $nove=array($nove, $_GET["sz"]=1 => 'z',$_GET["a1"]=1 => 'a'); ide mi o to, či takto, ako je uvedené, môžem do pôvodného poľa pridávať viac premenných, alebo tretím parametrom (napr v riadku 1 priradenie $_GET["a1"]=1 => 'á' |
||
Darker Profil |
#7 · Zasláno: 16. 3. 2011, 17:29:20
Co kdyby sis to skusil pomocí funkce print_R vypsat?
|
||
peteo Profil |
#8 · Zasláno: 16. 3. 2011, 17:31:56
aj tak ďakujem.
|
||
Časová prodleva: 13 let
|
0