[RE] pomoc s preg_replace – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

[RE] pomoc s preg_replace – PHP – Fórum – Programujte.com[RE] pomoc s preg_replace – PHP – Fórum – Programujte.com

 

jatt0
Newbie
27. 12. 2009   #1
-
0
-

Prosím pomôžte mi niekto dostal som sa do slepej uličky.... Ide o to aby preg_replace na základe match zamenilo textom z pola...



function applyLang($text){
global $array_zmena;
$text = preg_replace("#\{C_([a-z0-9\-_]*)\}#is",$array_zmena["\\1"],$text);
return $text;
}

$text = "Ahoj {C_ZMENA} ako sa máš";
$array_zmena = array('ZMENA'=>'napriklad meno', 'ZMENA2'=>'dalsie meno');

$output = applyLang($text);
echo $output;

vráti: Ahoj ako sa máš

Pomôžte mi kde robím chybu....

Vyriešil som to cez preg_match_all, ale ja tak by ma zaujímalo či je možné urobiť to priamo aj cez preg_replace. Ďakujem



function applyLang($text){
preg_match_all("#\{C_([a-z0-9\-_]*)\}#is",$text,$matches);
for ($x=0;$x<count($matches[0]);$x++){
$text = str_replace($matches[0][$x],$array_zmena[$matches[1][$x]],$text);
}
return $text;
}

Nahlásit jako SPAM
IP: 77.231.112.–
hrach
~ Redaktor
+1
Boss
28. 12. 2009   #2
-
0
-

takhle

$text = preg_replace("#\{C_([a-z0-9\-_]*)\}#ies",'$array_zmena["\\1"]',$text);

modifikator e rika, ze se dany vyraz (ten druhy parametr) zpracuje pomoci php, a proto ho tam vkladas jako retezec...

Nahlásit jako SPAM
IP: 90.179.27.–
http://jan.skrasek.com@hrachcz – webdeveloper
Martin Fiala
~ Anonymní uživatel
8 příspěvků
16. 1. 2020   #3
-
0
-
Nahlásit jako SPAM
IP: 37.188.157.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 50 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý