Autor Zpráva
peteo
Profil
Dobrý deň,

mám dve polia premenných:
$stare=array('á','ä','ą','â','ă','å','à','æ','&acirc;','&agrave;','&aring;','&aelig;','ă','à','â','ã','å','æ','č','ć','ç','&ccedil;','ç','ď','đ','đ','é','ę','ë','ě','è','ê','&egrave;','&ecirc;','ę','ě','ê','é','ë','í','î','ì','ï','ì','í','î','ï','&igrave;','&icirc;','&iuml;','ľ','ĺ','ň','ń','ñ','&ntilde;','ñ','ó','ô','ö','ő','ò','õ','ő','ó','ô','õ','ö','&ouml;','ř','ŕ','š','ś','ť','ţ','ţ','ú','ů','ű','ù','û','ü','ű','ù','û','ü','&uuml;','ý','ž','ź','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
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
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
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
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
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 =>  'á'
) spôsobuje vznik dvojrozmerného poľa $stare(a,b), alebo vznikajú dve premenné $stare(0) (hodnota 's')a $stare(1) (hodnota 'á'), ak predtým nebolo pole $stare() definované?
Darker
Profil
Co kdyby sis to skusil pomocí funkce print_R vypsat?
peteo
Profil
aj tak ďakujem.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0