</textarea> verursacht Darstellungsfehler

  • Hallo,

    also ich habe eine HTML-Datei "x.html". Ich möchte, dass man den Quelltext dieser Datei beliebig ändern kann.

    Dazu lade ich den Quelltext der Datei in eine <textarea>, und mittels Submit-Button kann man das dann zu einer PHP-Seite abschicken, die das dann speichert.
    So mache ich das:

    PHP
    <?php
    $quelltext=$_GET["quelltext"];
    echo "<textarea>$quelltext</textarea>";
    ?>

    Das Problem liegt daran: Wenn ich nun in die Textarea z.b. Folgendes angebe:

    Code
    Text1</textarea>Text2


    Dann steht in der Textarea "Text1" und daneben, außerhalb "Text2". Ist klar, denn im Quelltext sieht das dann so aus:

    Code
    <textarea>Text1</textarea>Text2</textarea>


    Wie unterbinde ich das mit PHP?

    Ich könnte vor dem echo einfach alle "</textarea>"s zu "<*/textarea>"s machen, aber dadurch würde der Quelltext ja falsch angezeigt werden. Beim Speichern könnte ich alles zwar wieder umwandeln, aber in der Textarea steht dann was anderes, und das ist doof :'(.

    plz help
    PHPler

  • Moin!

    Du gehörst bestimmt auch zu denjenigen, die 'nen PKW-Motor während der Fahrt wechseln? tz tz tz ;)

    PHP
    <?php
    $quelltext=$_GET["quelltext"];
    $quelltext = str_replace("<textarea>","&lt;textarea>",$quelltext);
    $quelltext = str_replace("</textarea>","&lt;/textarea>",$quelltext);
    echo "<textarea>$quelltext</textarea>";
    ?>

    G.a.d.M.

    Ronald

  • Boahr.
    Ihr Genies, ihr beiden, ihr ^^. Ronalds Methode funktionierte perfekt, aber Syranus' Methode ist auch toll :). Hab jetzt Syranus' :).

    Thx 4 help.

  • Zitat von DarkSyranus

    Ronald, viel zu umständlich.

    Klar geht das besser - hat aber u.U. die Folge, daß auch gewünschte Tags umgeändert werden (z.B. wenn man den Text in einer Vorschau mit nl2br umgesetzt hat und das "
    " dann nach htmlentities nicht so einfach zurückzuwandeln geht.

    Aber generell hast du natürlich recht.

    G.a.d.M.

    Ronald