ersetzt einen Zeilenumbruch UTF-8 sicher?

8

Wenn ich eine UTF-8-Zeichenfolge habe und Zeilenumbrüche durch HTML <br> ersetzen möchte, ist das sicher?

%Vor%

Ich weiß, dass str_replace nicht UTF-8 sicher ist, aber vielleicht kann ich damit durchkommen. Ich frage, weil es keine mb_streplace-Funktion gibt.

    
Jonny Barnes 10.10.2010, 22:21
quelle

3 Antworten

16

UTF-8 ist so konzipiert, dass Multibyte-Sequenzen niemals etwas enthalten, das wie ein ASCII-Zeichen aussieht. Das heißt, jedes Mal, wenn Sie auf ein Byte mit einem Wert im Bereich 0-127 stoßen, können Sie davon ausgehen, dass es sich um ein ASCII-Zeichen handelt.

Und das heißt, solange Sie nur versuchen, ASCII-Zeichen durch ASCII-Zeichen zu ersetzen, sollte str_replace sicher sein.

    
jalf 10.10.2010, 23:17
quelle
7

str_replace() ist sicher für jedes ascii-sichere Zeichen.

Übrigens könntest du dir auch die nl2br ()

ansehen     
zerkms 10.10.2010 22:26
quelle
1

1. Verwenden Sie das Code-Beispiel-Markup für Code in Ihren Fragen.

2 .: Ja, es ist sicher.

3.: Vielleicht ist es nicht das, was Sie erreichen möchten. Das könnte besser sein:

%Vor%

Vergessen Sie nicht, dass unterschiedliche Betriebssysteme unterschiedliche Zeilenumbrüche handhaben. Der obige Code sollte alle Zeilenumbrüche ersetzen, egal wo sie herkommen.

    
b_i_d 10.10.2010 23:00
quelle

Tags und Links