Smutje: str_replace

Hi,

ich lese aus einer DB einen tesxt aus, gespeichert in der variablen $text.
$text durchsuche ich nach einem bestimmten string: "[string]"
diesen string möchte ich ersetzen durch include("datei.inc.php");

das mache ich so:

$text = str_replace("[fahrer]", "<?php include("datei.inc.php"); ?>", $text);

aber das funktioniert nicht. mas mache ich da falsch?

die ausgabe von $text sieht so aus: <?php echo $text; ?>

danke für jede hilfe,

Smutje

  1. hi,

    $text = str_replace("[fahrer]", "<?php include("datei.inc.php"); ?>", $text);

    aber das funktioniert nicht. mas mache ich da falsch?

    du befindest dich bereits in einem php-bereich - sonst könntest du ja kein str_replace ausführen - und deshalb ist es unfug, darin mit <?php include ...?> einen weiteren eröffnen zu wollen.

    lese den dateiinhalt vorher in eine variable ein (file_get_contents), und gebe diese als zweiten parameter für str_replace an.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. lese den dateiinhalt vorher in eine variable ein (file_get_contents), und gebe diese als zweiten parameter für str_replace an.

      Was aber nicht geeignet ist, wenn die zu inkludierende Datei html-Elemente enthälit. Dafür kannst du strip_tags benutzen.
      Ich habe in Dateien, die ich per include einbinde, meistes html-Tags. Ob er/sie es auch hat, weiß ich nicht, aber es ist nur ein Hinweis.

      1. hi,

        lese den dateiinhalt vorher in eine variable ein (file_get_contents), und gebe diese als zweiten parameter für str_replace an.

        Was aber nicht geeignet ist, wenn die zu inkludierende Datei html-Elemente enthälit.

        was soll das im vorliegenden falle für eine bedeutung haben?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
    2. Hi,

      habe es so gelöst:

      $contentDatei = file_get_contents ("datei.inc.php");
      $text = str_replace("[string]", $contentDatei, $text);

      das funzt wundebar,

      danke für eure hilfe.