開発者ツール · HTML エンティティ エスケープ
' 問題: 古い HTML でアポストロフィ エンティティが失敗する理由
· 背景
html エンコード compatibility
' は XML の 5 つの事前定義エンティティの 1 つですが、HTML 4 には存在しないため、古いブラウザーや一部の電子メール クライアントでは文字通りに印刷されます。この投稿では、分割について、HTML で最終的に分割が採用されたときの説明、および ' が依然として安全な選択である理由について説明します。
ニュースレターで ' として表示されたアポストロフィ — コンクリートのレンダリングの失敗とその原因
ニュースレターで ' として表示されたアポストロフィ — 具体的なレンダリングの失敗とその原因。一部の古い HTML 指向クライアントでは、その名前が従来の HTML 処理で広くサポートされていなかったため、文字通り ' と表示されていました。互換性に関する症状は、アポストロフィではなくソース テキストが表示されることです。
' HTML が機能しないことを確認するには、' 電子メール クライアントまたは従来のブラウザで文字通りレンダリングされたことを開発者に示したアポストロフィを作成します。 Preserve up as apos in while apostrophe portability produces a newsletter a concrete;レンダリングの失敗とそれが消費される場所を特定します。原因に関する観察は HTML テキストのみに属します。
XML の 5 つの事前定義エンティティ — XML 属性構文に ' が必要な理由
XML の 5 つの事前定義エンティティ — XML 属性構文で が必要な理由。 XML は、その基本名の中でアポスを定義するため、アポストロフィで区切られた XML 属性値が自然になります。この事実は、古い HTML コンシューマでの同一の動作を保証するものではありません。
電子メール クライアントまたは従来のブラウザで文字通りレンダリングされた ' を見た開発者は、アポストロフィ移植性パスの前に apos があった理由をエンティティを記録することで、事前定義された XML をテストできます。その後、XML 属性で必要な比較を行い、構文を担当するパーサーを見つけます。 This ' not working html result explains apostrophe portability evidence, not executable contexts.
HTML 4.01 のリスト — 「はい、いいえ、およびそのときの理由」
HTML 4.01 のリスト — 「はい、いいえ」、および当時の理由。 The current ToolAcre table recognizes apos on decode, but its encoder filters that reverse mapping deliberately. Apostrophes are emitted as ' in every encode mode.
Isolate html 4 01 s in a short apostrophe portability sample.リテラルソースとしてリスト quot yes apos を表示し、no とその宛先への理由をたどって、その時点で読み取られる API に名前を付けます。 ' 動作しない HTML の場合、アポストロフィの移植性の証拠はパーサーに拘束された証拠のままです。
XHTML の簡単なブリッジ — ドキュメントが XML だったので ' が機能しました
XHTML の簡単なブリッジ — ドキュメントが XML だったので ' が機能しました。 XHTML は、実際に XML として提供される場合、XML 解析ルールを使用します。 XHTML に似た構文で記述されただけで、text/html として解析されたファイルは、クライアント互換性の違いを含め、HTML の動作に従います。
Treat xhtml s brief bridge as a boundary experiment.電子メール クライアントまたは従来のブラウザで文字通りレンダリングされた ' を見た開発者は、アポストロフィ移植性の証拠を変更する前に、アポストロフィ移植性操作を 1 つ実行し、ドキュメントが XML であることを 1 文字ずつ検査するため、アポストロフィが機能した場所を保持する必要があります。アポストロフィ移植性の証拠に関する主張は、この HTML 層にとどまります。
現在の HTML は '; を認識します。 ToolAcre は引き続き ' を発行して、より広範なレガシー移植性を実現します
現在の HTML は '; を認識します。 ToolAcre は、より広範なレガシー移植性を実現するために、引き続き ' を発行します。最新の HTML は ' を認識し、デコーダは ' と ' の両方が同じ ASCII アポストロフィを返すことを証明します。移植性に関する懸念は、アーカイブされたクライアントと制約のある電子メール エンジンに依然として関係します。
Reproduce current html recognizes apos with harmless input instead of customer material. toolacre が依然として 39 を発行していることを記録し、より広範なレガシー移植性を観察し、意図的なアポストロフィ移植性パスをすべてカウントします。その ' 機能しない HTML トレイルにより、電子メール クライアントまたは従来のブラウザで文字通りレンダリングされた ' を見た開発者は、アポストロフィの移植性の証拠とアポストロフィの移植性の証拠を推測することなく評価できます。
実用的な例: HTML および XML の引用符を含む文字列をエスケープする — ' 移植可能な答えとして
Worked example: escaping a string with quotes for HTML and for XML — ' as the portable answer. 「Tom's」の入力 Tom's リテラル ASCII 引用符の場合、エスケープすると Tom's が生成されます。 Tom's または Tom's のいずれかをデコードすると、同じ単純なアポストロフィ文字が返されます。
アポストロフィの移植性レビュー中に、a、引用符付き文字列、html、および xml をエスケープする動作例を並べて配置します。電子メール クライアントまたは従来のブラウザで文字通りレンダリングされた ' を見た開発者は、ポータブルとしての 39 が変換時またはダウンストリームで変更されたかどうかを判断できます。 「機能しない」という答えに関する HTML の結論は、一般的なセキュリティに関する主張から外してください。
これでカバーされないもの — 電子メール クライアント レンダリング エンジンの詳細
What this does not cover — email client rendering engines in detail.電子メール クライアント エンジンはさまざまであるため、ここではカタログ化されていません。古いレンダリング ソフトウェアが製品要件である場合、実際のクライアント マトリックスのテストは依然として必要です。
アポストロフィ移植性を実行する前に、これが実行しないことを定義します。カバー電子メール クライアントのレンダリングをコントロールとして保存し、エンジンの背後にあるコード ポイントを詳細に検査し、アポストロフィの移植性の証拠を次のインタープリタにマッピングします。これにより、HTML が機能しないことを調査している ' 電子メール クライアントまたは従来のブラウザで文字通りレンダリングされたことを確認した開発者にとって、アポストロフィの移植性の証拠が監査可能になります。
要点: 移植性が重要な場合は ' を優先します — HTML エンティティ エスケープのデコーダが両方の形式を単純なアポストロフィに戻す方法
要点: 移植性が重要な場合は ' を優先します。HTML エンティティ エスケープのデコーダが両方の形式を単純なアポストロフィに戻す方法です。広範な HTML の移植性が重要な場合は、ToolAcre の出力と一致する ' を優先します。この選択は代表的なものです。それ自体では、属性、スクリプト、または SQL 式が安全になるわけではありません。
テイクアウェイ優先 39 を、観察可能なアポストロフィ移植性出力に接続します。移植性を保つには、1 パスの結果の横にある HTML エンティティ エスケープがデコーダに入る場所で両方のフォームを読み取ることが重要です。電子メール クライアントや従来のブラウザで文字どおりレンダリングされたのを見た開発者は、HTML が動作していないという狭い結果としてプレーンに戻って確認できるようになりました。この記事の背後にある実際的な決定は具体的です: ' は XML の 5 つの事前定義エンティティの 1 つですが、HTML 4 には存在しないため、古いブラウザーと一部の電子メール クライアントはそれを文字通りに出力します。この投稿では、分割について、HTML で最終的に分割が採用されたときの説明、および ' が依然として安全な選択である理由について説明します。リーダーのアクションも同様に具体的です。HTML エンティティ エスケープ機能にリンクし、引用符をエスケープする方法を示すツール ページへのポインタとともに、' と ' を同じ文字にデコードする方法を示します。