PHP-Code in einem String suchen und entfernen

Azi

Erfahrenes Mitglied
Hallo,
Ich habe nun einen String, bei dem der PHP-Code entfernt werden muss zum Beispiel
PHP:
$string="Hallo, <b>Welt</b>! <?php echo time() ?>"

/* Alles soll hier entfernt werden */

/* ein paar PHP-Befehle werden, nachdem nun vorher alles entfernt wurde, eingefügt */
eval('?>'.$string);

So, wie bekomme ich nune den Teil "/* Alles soll hier entfernt werden */" hin?
 
Den PHP-Teil, in diesem Fall "<?php echo time() ?>". Der Kommentar zeigt nur die Vogänge, die an dieser Stelle sein sollen (wobei nur der "/* Alles soll hier entfernt werden */" unbekannt ist)
 
Nein, klappt leider nicht:
Code:
Warning: Wrong parameter count for preg_replace() in E:\Server\htdocs\test\del_php.php on line 5
 
So?
PHP:
<?php
$string="Hallo, <b>Welt</b>! <?php echo time() ?>";
preg_replace('/<\?php.*\?>/s','', $string);
$string=$string.'<?php echo "blubb" ?>';
eval('?>'.$string);
?>
Ausgabe (keine Fehlermeldung):
Code:
Hallo, Welt! 1139488558blubb
Es sollte kommen:
Code:
Hallo, Welt!blubb
--> Klappt nicht.
 
Hallo,

die alternative zu preg_replace wäre str_replace.
Würde dann so aussehen:

PHP:
<?php

       $string="Hallo, <b>Welt</b>! <?php echo time() ?>";
?>

<?php

        $vorher='<?php echo time() ?>';
        $nachher = 'blubb';
        echo str_replace($vorher, $nachher, $string);
?>
Ergibt: Hallo, Welt! blubb


Gruß


RS9999:)
 
Alternativ:

PHP:
<?php
     // Zeichenkette
     $url = "Hallo, <b>Welt</b>! <?php echo time() ?>";

     // Suchmuster
     $reg_muster = "/<\?php.*\?>/s";

     // Austausch
     $tausch = 'blubb';

     // Prüfen auf Tags
     echo preg_replace($reg_muster, $tausch, $url);

?>
Gruß

RS9999:)
 
Zurück