Position actuelle: Accueil> Derniers articles> Comment gérer correctement les ruptures de lignes lors de l'utilisation de Cured_printable_decode en PHP pour éviter les dysfonctionnements de mise en forme?

Comment gérer correctement les ruptures de lignes lors de l'utilisation de Cured_printable_decode en PHP pour éviter les dysfonctionnements de mise en forme?

gitbox 2025-07-17
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Cette partie n&#39;a rien à voir avec le contenu de l&#39;article,Vous pouvez placer un code ou des commentaires d&#39;initialisation</span></span><span>
</span><span><span class="hljs-comment">// Par exemple:</span></span><span>
</span><span><span class="hljs-comment">// Initialiser les variables d&#39;environnement,Ou définissez le format de codage, etc.</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>exister PHP utiliser quoted_printable_decode Lors du décodage,Comment gérer correctement les pauses de ligne,Évitez le format désordonné?</h1>

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

Indique la rupture de la ligne de retour du chariot (CRLF).

2. Le principe de travail de la fonction Cured_printable_decode ()

Cette fonction reconnaît le codage de signe égal dans la chaîne et le convertit au caractère correspondant. En même temps, si vous rencontrez une nouvelle ligne douce à la fin de la ligne (c'est-à-dire le signe égal à la fin de la ligne), il sera supprimé et le contenu de la ligne suivante sera épissé.

Mais parfois, les caractères Newline décodés ne sont pas le format que vous attendez, entraînant une confusion dans le format lorsqu'il est affiché.

3. Différences de formats de rupture en ligne

  • CRLF (\ r \ n) : la rupture de ligne par défaut pour le système Windows.
  • LF (\ n) : UNIX / Linux et MacOS (nouvelle version) Breaks de ligne par défaut.
  • Cr (\ r) : ancienne version de la rupture de ligne par défaut de macOS.

Dans PHP, le caractère de rupture de ligne est géré de manière incohérente dans différents environnements, ce qui facilite la possibilité d'avoir des problèmes de format.

4. Exemples de questions fréquemment posées

<span><span>$ encodé</span></span> <span>=</span> <span><span>"Hello = 0d = 0Aworld = 0d = 0a!"</span></span> <span>;
</span><span><span>$ decoded</span></span> <span>=</span> <span><span class="function_ invoke__">Cured_printable_decode</span></span> <span>(</span> <span><span>$ encodé</span></span> <span>);
</span><span><span>écho</span></span><span> </span><span><span class="function_ invoke__">NL2BR</span></span> <span>(</span> <span><span>$ décodé</span></span> <span>);
</span><p>À ce stade, si le caractère Newline dans <span class="fun">$ décodé</span> est CRLF, certains navigateurs ou environnements peuvent ne pas être correctement reconnus, affichant comme une ligne ou déroutant.</p><h2> 5. Méthodes pour gérer correctement les caractères Newline</h2><p> Pour éviter les problèmes causés par les pauses de ligne, vous pouvez convertir uniformément toutes les pauses de ligne en format unifié. Il est généralement recommandé de se convertir en pauses de ligne de style Unix <span class="fun">\ n</span> . L&#39;exemple de code est le suivant:</p><pre>
<span><span>$ decoded</span></span> <span>=</span> <span><span class="function_ invoke__">Cured_printable_decode</span></span> <span>(</span> <span><span>$ encodé</span></span> <span>);

</span><span><span>// Remplacez tous les caractères CRLF (\ r \ n) et cr (\ r) avec LF (\ n)</span></span><span>
</span><span><span>$ normalisé</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>$ décodé</span></span> <span>);

</span><span><span>// Si vous avez besoin de HTML pour afficher Newlines, vous pouvez utiliser NL2BR</span></span><span>
</span><span><span>écho</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>$ normalisé</span></span> <span>));
</span><h2>6. Résumé</h2><ul><li> Après décodage avec <span class="fun">cité_print_decode ()</span> , le format Newline peut être CRLF ou CR.</li><li> Afin d&#39;éviter le trouble de la mise en forme, il est recommandé de remplacer les ruptures de ligne par LF (\ n).</li><li> Lors de la sortie de HTML, l&#39;utilisation <span class="fun">de NL2BR ()</span> et <span class="fun">HTMLSpecialCars ()</span> peut assurer la mise en forme et la sécurité.</li></ul><p> Grâce à la méthode ci-dessus, les problèmes de mise en forme causés par des pauses de ligne lors de l&#39;utilisation <span class="fun">de Cured_printable_decode ()</span> peuvent être effectivement évités, ce qui rend l&#39;affichage de contenu plus standardisé et plus clair.</p></div></div>