Autor Zpráva
vargy
Profil
pozdravujem.

Mám taký problém. Potreboval by som pravdepodobne funkcie str_replace urobiť nasledujúce:

mám pole
$slova = array("jeden", "dva", "tri");
$nahrada = array("prvy", "druhy", "treti");
$text = "Je tu JEDEN človek,TRI klince a DVA poháre.";

A teraz by som potreboval, aby mi namiesto jeden dalo prvy, namiesto dva druhy, namiesto tri treti.

Čiže by to malo vrátiť: Je tu prvy človek, treti klince a druhy poháre. Ak by to bolo v tom poradí, v ktorom sú zoradené slová v poli, problém to nie je, ale takto si s tým neviem rady. A samozrejme by som to potom chcel aj nejako stylovať, ale to by už malo byť v pohode.

Dopredu ďakujem.
Jan Tvrdík
Profil
$slova = array("jeden", "dva", "tri"); 
$nahrada = array("prvy", "druhy", "treti"); 
$text = "Je tu JEDEN človek,TRI klince a DVA poháre.";
echo str_ireplace($slova, $nahrada, $text); // str_ireplace kvůli ignorování rozdílu malých a velkých písmen
vargy
Profil
Jan Tvrdík, Jan Tvrdík:
Aha, a čo v prípade, že chcem, aby mi vrátilo: je tu <html tag> jeden </html tag>človek, <html tag> tri </html tag> klince atď, tak, aby som nemusel davať do poľa stále ten tag. Je to možné?
Davex
Profil
Do pole $nahrada si můžeš tagy doplnit třeba takto:

$nahrada = preg_replace('~^(.*)$~', '<tag>$1</tag>', $nahrada);

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: