PHP HTML Umlautwandler

  • Hallo,
    ich wollte einen Umwandler schreiben, der mir Umlaute und Sonderzeichen in HTML Codes in einer Textbox ausgibt, bei Ä,ä... geht es aber beim
    & steht nur im Quelltext & und in der Textbox wird das & angezeigt. Kann man das irgendwie ändern, dass auch beim & das & in der
    Textbox angezeigt wird?

    Das umwandeln mache ich mit

    PHP
    str_replace('&','&',$_POST['normalertext'])

    Danke

    -

  • Nimm htmlspecialchars().. Das wandelt alles so um, dasses geht..

  • Geht leider auch nicht :(


    Quatsch! Naturlich geht das!


    HTML-Code:

    Code
    Hier ist ein & und das wandeln wir jetzt um
    <br>oder (und besser)<br>
    Hier ist ein &amp; und das wandeln wir jetzt um
  • Quatsch! Naturlich geht das!

    HTML-Code:

    Code
    Hier ist ein &amp; und das wandeln wir jetzt um
    <br>oder (und besser)<br>
    Hier ist ein &amp; und das wandeln wir jetzt um

    Ich meinte damit, dass es genau das gleiche ist wie mein versuch oben
    im Quelltext stehts richtig aber in der Textbox wird halt das & angezeigt
    dort soll aber das &amp; zum kopieren stehen.

    -

  • Dann nimm str_rplace() sonst wüsste ich auch grad nichts.. Oder du lässt zweimal das htmlentities() oder htmlspecialchars() durchlaufen.

  • Aus:


    und:

    Zitat

    hallo das ist ein teste ä -------------------- ß

    wird:

    Code
    hallo das ist ein teste &amp;auml; --------------------       &amp;szlig;

    Was wohl nicht stimmt.

    -

  • Die Lösung:
    htmlentities() oder htmlspecialchars() zweimal hintereinander anwenden, dann stimmts ja wieder..

  • schon mal das Backslash \ Zeichen probiert (Tasten AltGr+ß). Das unmittelbar hinter dem Backslash stehende zeichen wird ohne jede interpretation übernommen. Bei der Ausgabe wird der Backslash nicht angezeigt, es sei denn man schreibt 2 hintereinander.
    Es sollte vor den ersten Zeichen genügen ansonsten vor alle buchstaben setzen.

    \&\a\m\p\;