PHP での文字列と引用符付き印刷可能文字の変換

醉折花枝作酒筹
リリース: 2023-03-11 21:40:01
オリジナル
2287 人が閲覧しました

前回の記事では右側の文字を削除する方法を学習しましたので、必要に応じて「php String Challenge: 右側の文字を削除する」を参照してください。今回は文字列と引用符付き印刷可能文字を相互に変換する方法を紹介しますので、必要な場合は参考にしてください。

この記事の学習を始める前に、まず引用印刷可能とは何かを見てみましょう。

Quoted-printable は「印刷可能な文字参照エンコーディング」「印刷可能な文字を使用したエンコーディング」と訳せますが、メールを受信して​​レターの元情報を確認する際、このタイプのエンコーディングをよく見かけます。

これは、MultiPurpose Internet Mail Extensions (Mime) の実装です。 Mime は、電子メール標準を拡張するインターネット標準であり、非 ASCII 文字、バイナリ形式の添付ファイルなど、さまざまな電子メール形式のサポートを目指しています。現在、多くの HTTP プロトコルは MIME フレームを使用しています。 Quoted printable とは、いくつかの一般的な印刷可能文字を使用して、すべての印刷不可能な文字を 1 バイト (8 ビット) で表すことを指します。

Quoted-printable について理解したら、トピックを始めましょう。

まず、Quoted-printable 文字列を通常の文字に変換できるように、文字列を Quoted-printable に変換する必要があります。

小さな例を見てみましょう。

<?php 
$str = quoted_printable_encode("Hello
Aworld.");
echo($str); 
?>
ログイン後にコピー

この結果は次のとおりです

PHP での文字列と引用符付き印刷可能文字の変換

この結果が少し奇妙かどうか見てみましょう。この「=0A」 「How it Come out? コードを見てみましょう。hello という単語の後にキーボードの改行キーを使用しました。通常の HTML や PHP では問題ありませんが、改行は発生しません。」しかし、この関数では、いいえ、Enter キーを解析します。

これを理解した上で、この機能を詳しく紹介していきます。

quoted_printable_encode() この関数は、8 数字文字列を quoted-printable 文字列に変換します。

実際、その構文は非常に単純で、ただ

quoted_printable_encode(string)
ログイン後にコピー

しかし、この関数を使用するときは注意する必要があります:

After Quoted-printable エンコードされたデータは、メールで送信される変更されたデータと同じではありません。完全な US-ASCII テキストは引用符で印刷可能なエンコードが可能で、テキスト変換またはワイヤーパック ゲートウェイ経由でメッセージを送信するときにデータの整合性を確保できます。

次に、quoted-printable エンコードされたデータを復元しましょう。

上記の例のデータを復元してみましょう。

<?php 
$str = quoted_printable_decode("Hello=0AAworld.");
echo($str); 
?>
ログイン後にコピー

この例をブラウザで出力した場合

PHP での文字列と引用符付き印刷可能文字の変換

この例を html で出力した場合

PHP での文字列と引用符付き印刷可能文字の変換

この比較で違いが分かりますが、この関数でデコードしたコードは「=0A」というデコード結果はブラウザ上には表示されませんが、HTMLには具体的な結果が表示されます。

以上です。他に知りたいことがある場合は、ここをクリックしてください。 → →phpビデオチュートリアル

以上がPHP での文字列と引用符付き印刷可能文字の変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート