Halihallo muenzchen
$tpl_file = implode('', file('preg.htm'));
Mein Gott, was für eine Verschwendung :-)
http://www.php.net/file_get_contents wenn schon...
preg_replace("/((<[^>]*)|$s)/ie", '"\2"=="\1"? "\1":"$tpl_file"', $t);
Allerdings will das nicht klappen, ich bekomme als Ausgabe immer nur '1', statt des Textes in Fettschrift. Kann mir jemand erklären warum? Ich verstehe nicht welche Probleme PHP da hat.
Tja, erklären kann ich es nicht. Ich habe nur Vermutungen. Dieses
e (execute) bei Regular Expressions ist, naja, eine sprachliche
Extremität der 4GL Languages genau wie eval und Co. Man muss damit
einfach aufpassen...
Deine Expression ohne $tpl_file funktioniert ja. Nun, warum machst
du es denn nicht *genau* so?
Von:
preg_replace("/((<[^>]*)|$s)/ie", '"\2"=="\1"? "\1":"<b>\1</b>"', $t);
Nach:
preg_replace("/((<[^>]*)|$s)/ie", '"\2"=="\1"? "\1":"'.$tpl_file.'"', $t);
Man beachte, dass $tpl_file in den String *direkt* eingesetzt wird.
Funktioniert's damit?
Viele Grüsse
Philipp