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