Autor Zpráva
bukaj
Profil
zdravím,
potřebuji pomoct, jelikož jsem již opravdu bezradný
mám:
$line = array("time"=>"00:00:00", "content"=>"obsah"); //pole s údaji

$line_syntax = "{time} : {content}"; //syntaxe řádky

a teď bych potřeboval regulárním výrazem (nejlépe PCRE) nahradit vždy v $line_syntax obsah mezi složenými závrokami obsahem pole $line, takže například to {time} bych potřeboval nahradit za 00:00:00, což je uloženo v proměnné $line["time"].
zkoušel jsem již:
preg_replace("/{([^{}]+)}/",$line["\1"],$this->line_syntax);

preg_replace("/{([^{}]+)}/",$line["$1"],$this->line_syntax);
preg_replace("/{([^{}]+)}/",$line["$1"],$this->line_syntax);
preg_replace("/{([^{}]+)}/","$line[\1]",$this->line_syntax);
...

prostě všechno možné, ale za boha na to nemohu přijít. nevíte někdo?
Alphard
Profil
musí tam být regulérní výrazy?
nemohlo by to být takhle?

<?php

$veta = "{time} : {content}";
$vzorec = array ("{time}", "{content}");
$nahrad = array ("00:00:00", "obsah");
echo str_replace($vzorec, $nahrad, $veta);
?>
bukaj
Profil
Alphard
bylo by lepší, kdyby tam byl ty reguláry, protože tohle se mi zdá jako ne moc perspektivní řešení, protože všechno bude proměnlivé... díky.

a nevěděl by tedy někdo s těmi regulárními výrazy?
jonge
Profil
bukaj
Věděl :)

<?php

$line = array("time"=>"00:00:00", "content"=>"obsah"); //pole s údaji
$line_syntax = "{time} : {content}"; //syntaxe řádky

foreach ($line as $nazev => $hodnota) {
$line_syntax = preg_replace("#\{$nazev\}#", $hodnota, $line_syntax);
}

echo $line_syntax;
?>
bukaj
Profil
jonge díky :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0