Aktueller Standort: Startseite> Neueste Artikel> Wie kann man Zeilenumbrüche korrekt behandeln, wenn ich zitiert_printable_decode in PHP verwendet habe, um Fehlfunktionen zu vermeiden?

Wie kann man Zeilenumbrüche korrekt behandeln, wenn ich zitiert_printable_decode in PHP verwendet habe, um Fehlfunktionen zu vermeiden?

gitbox 2025-07-17
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Dieser Teil hat nichts mit dem Inhalt des Artikels zu tun,Sie können einen Initialisierungscode oder Kommentare abgeben</span></span><span>
</span><span><span class="hljs-comment">// Zum Beispiel:</span></span><span>
</span><span><span class="hljs-comment">// Umgebungsvariablen initialisieren,Oder setzen Sie das Codierungsformat usw.</span></span><span>
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">'Content-Type: text/html; charset=utf-8'</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

<h1>existieren PHP verwenden quoted_printable_decode Beim Dekodieren,Wie man mit Linienbrüchen richtig behandelt wird,Vermeiden Sie das unordentliche Format?</h1>

<p>existieren处理电子邮件内容或者一些verwenden <code>quoted-printable

Zeigt die Kutschenrückgabe -Linie (CRLF) an.

2. Das Arbeitsprinzip der Funktion zitiert_printable_decode ())

Diese Funktion erkennt die gleiche Zeichenkodierung in der Zeichenfolge und konvertiert sie in das entsprechende Zeichen. Gleichzeitig wird es entfernt, wenn Sie am Ende der Linie auf eine weiche Newline (dh das gleiche Vorzeichen am Ende der Linie) stoßen, und der Inhalt der nächsten Zeile wird gespleißt.

Aber manchmal sind die dekodierten Newline -Zeichen nicht das Format, das Sie erwartet haben, was zu Verwirrung im Format führt, wenn sie angezeigt werden.

3.. Unterschiede in den Leitungsunterbrechungsformaten

  • CRLF (\ r \ n) : Der Standardzeilenumbruch für Windows -System.
  • LF (\ n) : UNIX/Linux und MacOS (neue Version) Standardzeilenumbrüche.
  • CR (\ R) : Alte Version der MacOS -Standard -Zeilenumbruch.

In PHP wird der Linienbrechercharakter in verschiedenen Umgebungen inkonsistent behandelt, wodurch es einfach ist, Formatprobleme zu haben.

4. Häufig gestellte Fragen Beispiele

<span><span>$ coded</span></span> <span>=</span> <span><span>"Hallo = 0d = 0AWORLD = 0D = 0A!"</span></span> <span>;
</span><span><span>$ decoded</span></span> <span>=</span> <span><span class="function_ invoke__">zitiert_printable_decode</span></span> <span>(</span> <span><span>$ codiert</span></span> <span>);
</span><span><span>Echo</span></span><span> </span><span><span class="function_ invoke__">NL2BR</span></span> <span>(</span> <span><span>$ decodiert</span></span> <span>);
</span><p>An diesem Punkt werden einige Browser oder Umgebungen möglicherweise nicht korrekt erkannt und als eine Zeile oder verwirrend angezeigt, wenn der neue Zeilencharakter in <span class="fun">$ decodiert</span> ist.</p><h2> 5. Methoden zum korrekten Umgang mit neuen Zeilenzeichen</h2><p> Um die durch Linienbrüche verursachten Probleme zu vermeiden, können Sie alle Linienbrüche gleichmäßig in ein einheitliches Format umwandeln. Es wird im Allgemeinen empfohlen, in Unix-Line-Breaks <span class="fun">\ n</span> umzuwandeln. Der Beispielcode lautet wie folgt:</p><pre>
<span><span>$ decoded</span></span> <span>=</span> <span><span class="function_ invoke__">zitiert_printable_decode</span></span> <span>(</span> <span><span>$ codiert</span></span> <span>);

</span><span><span>// Ersetzen Sie alle CRLF (\ r \ n) und Cr (\ r) Newline -Zeichen durch LF (\ n)</span></span><span>
</span><span><span>$ normalized</span></span> <span>=</span> <span><span class="function_ invoke__">str_replace</span></span> <span>([</span> <span><span>"\ r \ n"</span></span> <span>,</span> <span><span>"\ r"</span></span> <span>],</span> <span><span>"\ n"</span></span> <span>,</span> <span><span>$ decodiert</span></span> <span>);

</span><span><span>// Wenn Sie HTML benötigen, um Neulinien anzuzeigen, können Sie NL2BR verwenden</span></span><span>
</span><span><span>Echo</span></span><span> </span><span><span class="function_ invoke__">NL2BR</span></span> <span>(</span> <span><span class="function_ invoke__">HTMLSpecialChars</span></span> <span>(</span> <span><span>$ normalisiert</span></span> <span>));
</span><h2>6. Zusammenfassung</h2><ul><li> Nach dem Dekodieren mit <span class="fun">zitiert_printable_decode ()</span> kann das Newline -Format CRLF oder CR sein.</li><li> Um eine Formatierungsstörung zu vermeiden, wird empfohlen, Linienbrüche durch LF (\ n) zu ersetzen.</li><li> Wenn Sie HTML ausgeben, können die Verwendung <span class="fun">von NL2BR ()</span> und <span class="fun"><a href="/de/php/htmlspecialchars.html" target="_blank">HTMLSpecialChars ()</a></span> Formatierung und Sicherheit sicherstellen.</li></ul><p> Durch die obige Methode können die durch Zeilen verursachten Formatierungsprobleme bei der Verwendung <span class="fun">von cottel_printable_decode ()</span> effektiv vermieden werden, wodurch der Inhalt standardisierter und klarer angezeigt wird.</p></div></div>