Bernd: \r\n bekomm sie nicht weg nl2br oder str_replace

aud meiner MYsql Datenbank kommt ein Text der verschlüsselt war, nach dem entschlüsselt sollen \r\n in <br/> umgewandelt werden.

Ich habe mehrere Versuche genommen, aber ich schaffe es nicht. Ich verstehe das nicht. Bei Test wenn ich den String befühle mit "****" geht es aber nicht mit '*****'.

Ich denke es liegt irgendwie am Inhalt der aus meiner entschlüsselung kommt.

$string = 'hallo\r\nwas\r\nist\r\nda';

echo nl2br($string);

es wird trotzdem hallo\r\nwas\r\nist\r\nda angezeigt.

auch

str_replace(array("\r\n", "\n", "\r"), '', $string);

ergibt kein Ergebniss

http://sandbox.onlinephpfunctions.com/code/6121e61b785ae9bd2e2da3fc7eb6f5ae68ca2c5f

  1. Moin!

    aud meiner MYsql Datenbank kommt ein Text der verschlüsselt war, nach dem entschlüsselt sollen \r\n in <br/> umgewandelt werden.

    $string = 'hallo\r\nwas\r\nist\r\nda'; echo nl2br($string);

    Das kann auch nichts werden, denn die \r\n stehen in einfachen Anführungsstrichen und repräsentieren nicht den Zeilenvorschub und den Wagenrücklauf, sondern sich selbst.

    Mit

    <?php
    $string = "hallo\r\nwas\r\nist\r\nda";
    echo nl2br($string);
    

    geht es. Mit

    <?php
    ## Murks ##
    $string = 'hallo\r\nwas\r\nist\r\nda';
    $string = str_replace(array('\r', '\n'), array ("\r", "\n"), $string);
    echo nl2br($string);
    

    geht das also auch. Die Frage ist aber, wie Du das Problem erzeugst, nicht was für Krücken Du baust um zu versuchen dieses zu beheben.

    Jörg Reinholz

  2. es wird trotzdem hallo\r\nwas\r\nist\r\nda angezeigt.

    Wenn \r\n angezeigt wird, steht \r\n im String.