Maison  >  Article  >  développement back-end  >  Conversion de chaînes et de caractères imprimables entre guillemets en PHP

Conversion de chaînes et de caractères imprimables entre guillemets en PHP

醉折花枝作酒筹
醉折花枝作酒筹original
2021-08-04 11:49:102278parcourir

Dans l'article précédent, nous avons découvert la méthode de suppression des caractères du côté droit. Si vous en avez besoin, veuillez lire "Défi de chaîne php - supprimer les caractères du côté droit". Cette fois, nous allons vous présenter la méthode de conversion des chaînes et des caractères imprimables entre guillemets les uns vers les autres. Vous pouvez vous y référer si vous en avez besoin.

Avant de commencer à étudier cet article, jetons d’abord un coup d’œil à ce qui est cité-imprimable.

Quoted-printable peut être traduit par « encodage de référence de caractères imprimables » et « encodage à l'aide de caractères imprimables ». Lorsque nous recevons des emails et vérifions les informations originales de la lettre, nous voyons souvent ce type d'encodage !

Il s'agit d'une implémentation de Extensions de messagerie Internet polyvalentes (Mime). Mime est une norme Internet qui étend les normes de courrier électronique et s'efforce de prendre en charge divers formats de courrier électronique, tels que les caractères non ASCII, les pièces jointes au format binaire, etc. Actuellement, de nombreux protocoles HTTP utilisent des trames MIME ! Imprimable cité fait référence à l'utilisation de certains caractères imprimables courants pour représenter tous les caractères non imprimables sur un octet (8 bits) !

Après avoir compris Quoted-printable, commençons notre sujet.

Nous devons d'abord convertir la chaîne en Quoted-printable, afin que la chaîne Quoted-printable puisse être convertie en caractères ordinaires.

Regardons un petit exemple.

<?php 
$str = quoted_printable_encode("Hello
Aworld.");
echo($str); 
?>

Le résultat est

Conversion de chaînes et de caractères imprimables entre guillemets en PHP

Voyons si ce résultat est un peu étrange. Comment apparaît ce "=0A" ? en utilisant le mot bonjour Plus tard, la touche de saut de ligne du clavier a été utilisée. Bien que cela ne pose aucun problème en HTML ou PHP ordinaire, aucun saut de ligne ne s'est produit. Mais dans cette fonction, non, il analysera la touche Entrée. =0A”是怎么出来的,让我们看看代码,我们在hello这个单词后面使用了键盘上的换行键,虽然这在普通html或是php中是没有问题的,并没有发生折行。但是在这个函数中,不可以,它会将这个回车键解析出来。

了解这些之后,我们去具体介绍一下这个函数吧。

quoted_printable_encode() 函数把 8 位字符串转换为 quoted-printable 字符串。

其实它是语法很简单,就是

quoted_printable_encode(string)

但是我们使用这个函数的时候需要注意:

经过 quoted-printable编码后的数据与通过邮件传输进行修改的不一样。一个完全 US-ASCII 的文本可进行 quoted-printable 编码,用来确保通过文字翻译或线包网关进行消息传递时数据的完整性。

接下来我们就将quoted-printable编码的数据还原吧。

我们就将上面这个例子的数据还原吧。

<?php 
$str = quoted_printable_decode("Hello=0AAworld.");
echo($str); 
?>

当这个例子在浏览器输出时

Conversion de chaînes et de caractères imprimables entre guillemets en PHP

当这个例子在html输出时

Conversion de chaînes et de caractères imprimables entre guillemets en PHP

这样一对比,是不是就能看出区别啦,这个函数解码后的代码在浏览器上是不显示“=0A

Après avoir compris cela, présentons cette fonction en détail. La fonction

quoted_printable_encode() convertit la chaîne 8 bits en chaîne quoted-printable.

En fait, sa syntaxe est très simple, juste 🎜🎜rrreee🎜🎜Mais nous devons faire attention lors de l'utilisation de cette fonction : 🎜🎜🎜🎜Les données codées par quoted-printable sont différentes des données modifiées par transmission par e-mail. Un texte entièrement US-ASCII peut être codé et imprimable pour garantir l'intégrité des données lors de la transmission de messages via la traduction de texte ou des passerelles Wirepack. 🎜🎜Ensuite, restaurons les données codées imprimables citées. 🎜🎜Restaurons les données dans l'exemple ci-dessus. 🎜rrreee🎜Lorsque cet exemple est affiché dans le navigateur🎜🎜S3K$O7}$IV_J%[0(67$M$1F.png🎜🎜Lorsque cet exemple est affiché en html🎜🎜Conversion de chaînes et de caractères imprimables entre guillemets en PHP🎜🎜Avec cette comparaison, voyez-vous la différence ? , le le code décodé par cette fonction n'affichera pas le résultat du décodage "=0A" sur le navigateur, mais il aura des effets spécifiques en HTML 🎜🎜C'est tout, il y en a d'autres. Si tu veux savoir, tu. pouvez cliquer sur ceci → →🎜tutoriel vidéo php🎜🎜.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn