Autor Zpráva
matthew
Profil
Dobrý večer, mám následující problém:

V proměnné $promenna mám text... někde uvnitř je schované %%cokoliv%%, %%kdekoliv%%, %%kdykoliv%%. Já všechna tato slova uzavřená v %% potřebuji nahradit zdrojovým kódem těchto stránek (%%kdekoliv%% -> kdekoliv.html).

A proto se ptám:

Lze nějak použít regulární výrazy ve fci str_replace()?

$text = str_replace("%%???%%","file_get_contents(???)",$promenna);


Takhle nějak bych si to představoval, ale nemám tušení, jestli by to nějak vůbec šlo... Díky za každý nápad.
Kcko
Profil
php.net/preg_replace
Hooonza
Profil
Možná, že to je moc složité, ale zdá se, že to funguje:
test.html:
testíček
chi.html:
chi
Sranda.html:
sranda


skript.php:
<?php
$promenna = "Uděláme si %%test%%, bude %%Sranda%%, chi%%chi%%.";

$p = array();
$q = array();
$pattern = '/(%%)([a-zA-Z]*)(%%)/';

$file = preg_match_all($pattern,$promenna,$matches);

foreach ($matches[2] as $value) {
		$content = file_get_contents($value.'.html');
		array_push($p,$content);
		};

$promenna  = preg_split($pattern, $promenna);

for ($a=0; $a<count($promenna); $a++) {
		array_push($q,$promenna[$a]);
		if ($a<$file) array_push($q,$p[$a]);
		};

foreach ($q as $write) echo $write;
?>
matthew
Profil
Kcko, Hooonza
díky, funguje to perfektně :)
Toto téma je uzamčeno. Odpověď nelze zaslat.