eval() + preg_replace() (problem)

  • Themenstarter Themenstarter suit
  • Beginndatum Beginndatum
soll {SCREEN0, 8SHOTID} nun mit dem Inhalt von rebell.new/shell/comp/show_screen0.inc?screen_id=8 werden oder soll da stehen "include ...."?

Ersteres: Den Inhalt der Datei einfach in eine Variable schreiben und dann mit str_replace() oder so arbeiten.
Letzteres weis ich jetzt auch net so direkt!

Ich bin übrigens ziemlich sicher dass man bei include() s keine Variablen per ?... übergeben kann!
 
Code:
<?php
$string = "{SCREEN0, 8SHOTID}";
$pattern = "#\{SCREEN([\d]{1,}),[ ?]([\d]{1,})SHOTID\}#ie";
$replacement = "<?php include ("rebell.new/shell/comp/show_screen\1.inc?screen_id=\2"); ?>";
preg_replace($pattern, $replacement, $string);
?>
Modifier e - veranlasst hier ein Synonym zu eval().
Modifier i - ignoriert Gross- und Kleinschreibung.
Evtl. das <?php und ?> im Replacementstring weglassen. Weiss ich gerade nicht auswendig.
Sorry fuer den Nicht-PHP-Highlight, aber die Forensoftware zickt bei dem Beispiel gewaltig.


Gruesse,
stanleyB
 
Zuletzt bearbeitet:
Zurück