Platzhalter für Php template, vereinfachen Array?

klausi89

Erfahrenes Mitglied
Hallo ich habe mal wieder eine Frage,

ich habe meine webseite auf ein php template umgebaut
,
dort werden im html teil nur Platzhalter vergeben [%test%]

ich möchte nun zusätzlich noch neue Platzhalter einfügen,

im Php teil ist das ganze nun so

PHP:
$test ="http://www.test.com";
$test1 ="http://www.test1.com";

# Platzhalter einfügen:
$places = $test;
$places1 = $test1;
$page = preg_replace("/\[\%test\%\]/", $places, $page);
$page = preg_replace("/\[\%test1\%\]/", $places1, $page);

# Fertige Seite ausgeben:
echo $page;

nun wollte ich nur wissen wie ich das ganze vereinfachen könnte, da ich circa 10 Platzhalter noch bräuchte
aber nicht so viel code haben möchte.

könnte mir da bitte mal jemand helfen, danke schon mal

Gruß
 
Das ist problemlos möglich, wenn Du die Strings in einem Array ablegst:
Javascript:
$places = [  
    "http://www.test.com",
    "http://www.test1.com",
    "http://www.test2.com",
    "http://www.test3.com",
    // usw.
];
for ($i = 0; $i < count($places); $i++) {
    $page = preg_replace("/\[\%test" . ($i + 1) . "\%\]/", $places[$i], $page);
}
Dabei habe ich voraus gesetzt, dass die Platzhalter einem festen Muster folgen. Ist das nicht der Fall, müsstest Du diese auch projektieren:
Javascript:
$places = [  
    "test" => "http://www.test.com",
    "test1" => "http://www.test1.com",
    "test2" => "http://www.test2.com",
    "test3" => "http://www.test3.com",
    // usw.
];
foreach($places as $key=>$item) {
    $page = preg_replace("/\[\%" . $key . "\%\]/", $item, $page);
}
 

Neue Beiträge

Zurück