ホームページ > ウェブフロントエンド > htmlチュートリアル > code_HTML/Xhtml_Web ページの作成を通じて HTML エスケープ文字を識別する方法について説明します。

code_HTML/Xhtml_Web ページの作成を通じて HTML エスケープ文字を識別する方法について説明します。

WBOY
リリース: 2016-05-16 16:39:17
オリジナル
1972 人が閲覧しました

データ中に ' のような文字が現れることがあります。その特徴は次のとおりです。

で始まり、途中に数字の文字列があり、& で始まり、

で終わる文字列。ブラウザがこれらのエスケープを検出した場合。文字をエスケープして返しますが、コードを渡すにはどうすればよいでしょうか? org.apache.commons.lang.StringEscapeUtils.unescapeHtml に詳しい説明があります

上記の最初の状況に遭遇した場合、中央は数値であり、数値 (Unicode) を char に直接変換します
2 番目のケース, 真ん中に文字があります。マッピングテーブルから該当する数字を見つけてcharに変換するだけです。コードを見れば一目瞭然です。 🎜>HTML40 での定義を見てください





コードをコピーします

コードは次のとおりです: static { HTML40 = new Entities();
fillWithHtml40Entities(HTML40);
static void fillWithHtml40Entities(Entities) {
entities.addEntities(BASIC_ARRAY); entities.addEntities(ISO8859_1_ARRAY);
entities.addEntities( HTML40_ARRAY)


BASIC_ARRAY、ISO8859_1_ARRAY、HTML40_ARRAY がそれぞれ何であるかを見てください。

BASIC_ARRAY



コードをコピーします


コードは次のとおりです:

private static Final String[][] BASIC_ARRAY = {{"quot", "34"}, // " - 二重引用符
{"amp", "38"}, // & - アンパサンド {"lt", "60"}, // < - より小さい {"gt", "62"}, // > - より大きい
ISO8859_1_ARRAY




コードをコピーします

コードは次のとおりです:

static Final String[][] ISO8859_1_ARRAY = {{"nbsp", "160"}, // 非改行スペース
{"iexcl", "161"}, // 反転感嘆符
{"cent", "162"}, // セント記号
{"pound", "163"}, // ポンド記号
{"curren", "164"}, // 通貨記号
{"yen", "165"}, // 円記号 = 元記号
{"brvbar", "166"}, // 破線 = 破線縦棒
{"sect", "167"}, // セクション記号
{"uml", "168"}, // 分音符 = 間隔分音符
{"copy", "169"}, // � - 著作権記号
{"ordf", "170"}, // 女性序数指示子
{"laquo", "171"}, // 左向き二重山引用符 = 左向きギルメット
{"not", " 172"}, // 記号ではありません
{"shy", "173"}, // ソフトハイフン = 任意のハイフン
{"reg", "174"}, // � - 登録商標記号
{"macr", "175"}, // マクロン = 間隔マクロン = オーバーライン = APL オーバーバー
{"deg", "176"}, // 度記号
{"plusmn", "177" }, // プラスマイナス記号 = プラスマイナス記号
{"sup2", "178"}, // 上付き文字 2 = 上付き数字 2 = 2 乗
{"sup3", "179"} , // 上付き文字 3 = 上付き数字 3 = 3 乗
{"acute", "180"}, // アキュートアクセント = スペースアキュート
{"micro", "181"}, // マイクロサイン
{"para", "182"}, // 枕頭記号 = 段落記号
{"middot", "183"}, // 中点 = グルジア語のコンマ = ギリシャ語の中点
{"cedil", "184"}, // cedilla = 間隔セディラ
{"sup1", "185"}, // 上付き文字 1 = 上付き数字 1
{"ordm", "186"}, // 男性の序数標識
{"raquo", "187"}, // 右向き二重山引用符 = 右向きギユメ
{"frac14", "188"}, // 下品な分数 1/4 = 小数 1/4
{"frac12", "189"}, // 下品な分数 1/2 = 小数 1/2
{"frac34", "190"}, // 下品な分数 4 分の 3 = 小数 4 分の 3
{" iquest", "191"}, // 逆疑問符 = 回転疑問符
{"Agrave", "192"}, // � - 大文字の A、重アクセント
{"Aacute", "193" }, // � - 大文字の A、鋭アクセント
{"Acirc", "194"}, // � - 大文字の A、曲折アクセント
{"Atilde", "195"}, // � -大文字の A、チルダ
{"Auml", "196"}、// � - 大文字の A、ウムラウト
{"Aring", "197"}、// � - 大文字の A、リング
{ "AElig", "198"}, // � - 大文字の AE
{"Ccedil", "199"}, // � - 大文字の C、セディラ
{"Egrave", "200"}, / / � - 大文字の E、重アクセント
{"Eacute", "201"}, // � - 大文字の E、急アクセント
{"Ecirc", "202"}, // � - 大文字の E,サーカムフレックスアクセント
{"Euml", "203"}, // � - 大文字の E、ウムラウト
{"Igrave", "204"}, // � - 大文字の I、グレーブアクセント
{" Iacute", "205"}, // � - 大文字の I、鋭アクセント
{"Icirc", "206"}, // � - 大文字の I、曲折アクセント
{"Iuml", "207" }, // � - 大文字の I、ウムラウト
{"ETH", "208"}, // � - 大文字の Eth、アイスランド語
{"Ntilde", "209"}, // � - 大文字の N , チルダ
{"Ograve", "210"}, // � - 大文字の O、重大アクセント
{"Oacute", "211"}, // � - 大文字の O、鋭アクセント
{ "Ocirc", "212"}, // � - 大文字の O、サーカムフレックスアクセント
{"Otilde", "213"}, // � - 大文字の O、チルダ
{"Ouml", "214" }, // � - 大文字の O、ウムラウト
{"times", "215"}, // 乗算記号
{"Oslash", "216"}, // � - 大文字の O、スラッシュ
{"Ugrave", "217"}, // � - 大文字の U、鋭角アクセント
{"Uacute", "218"}, // � - 大文字の U、鋭角アクセント
{"Ucirc", "219"}, // � - 大文字の U、サーカムフレックスアクセント
{"Uuml", "220"}, // � - 大文字の U、ウムラウト
{"Yacute", "221"}, // � - 大文字の Y、アキュートアクセント
{"THORN", "222"}、 // � - 大文字の THORN、アイスランド語
{"szlig", "223"}、 // � - 小文字のシャープ、ドイツ語
{"agrave", "224"}, // � - 小文字の a、重大アクセント
{"aacute", "225"}, // � - 小文字の a、鋭アクセント
{"acirc" , "226"}, // � - 小文字の a、サーカムフレックスアクセント
{"atilde", "227"}, // � - 小文字の a、チルダ
{"auml", "228"}, / / � - 小文字の a、ウムラウト
{"aring", "229"}、// � - 小文字の a、リング
{"aelig", "230"}、// � - 小文字の ae
{"ccedil", "231"}, // � - 小文字の c、セディラ
{"egrave", "232"}, // � - 小文字の e、グレーブアクセント
{"eacute", "233 "}, // � - 小文字の e、鋭アクセント
{"ecirc", "234"}, // � - 小文字の e、曲折アクセント
{"euml", "235"}, // � - 小文字の e、ウムラウト
{"igrave", "236"}, // � - 小文字の i、重アクセント
{"iacute", "237"}, // � - 小文字の i、鋭アクセント
{"icirc", "238"}, // � - 小文字の i、サーカムフレックスアクセント
{"iuml", "239"}, // � - 小文字の i、ウムラウト
{"eth", "240"}, // � - 小文字の eth、アイスランド語
{"ntilde", "241"}, // � - 小文字の n、チルダ
{"ograve", "242" }, // � - 小文字の o、重アクセント
{"oacute", "243"}, // � - 小文字の o、重アクセント
{"ocirc", "244"}, // � -小文字の o、サーカムフレックスアクセント
{"otilde", "245"}、// � - 小文字の o、チルダ
{"ouml", "246"}、// � - 小文字の o、ウムラウト
{"divide", "247"}, // 除算記号
{"oslash", "248"}, // � - 小文字の o、スラッシュ
{"ugrave", "249"}, // � - 小文字の u、重アクセント
{"uacute", "250"}, // � - 小文字の u、鋭アクセント
{"ucirc", "251"}, // � - 小文字の u、サーカムフレックスアクセント
{"uuml", "252"}, // � - 小文字の u、ウムラウト
{"yacute", "253"}, // � - 小文字の y、急性アクセント
{"thorn ", "254"}, // � - 小文字のとげ、アイスランド語
{"yuml", "255"}, // � - 小文字の y、ウムラウト
};

HTML40_ARRAY

复制代码
代码如下:

static Final String[][] HTML40_ARRAY = {
//
{"fnof", "402"}, // フック付きのラテン語の小さな f = function= florin, U 0192 ISOtech -->
//
{"Alpha", "913"}, // ギリシャ大文字のアルファ、U 0391 -->
{"Beta", "914"}, // ギリシャ大文字ベータ、U 0392 -->
{"Gamma", "915"}, // ギリシャ大文字 gamma,U 0393 ISOgrk3 -->
{"Delta", "916"}, // ギリシャ大文字 デルタ,U 0394 ISOgrk3 -->
{"Epsilon", "917"}, // ギリシャ大文字イプシロン、U 0395 -->
{"Zeta", "918"}, // ギリシャ大文字ゼータ、U 0396 -->
{"Eta", "919"}, // ギリシャ大文字の eta、U 0397 -->
{"Theta", "920"}, // ギリシャ大文字 theta,U 0398 ISOgrk3 -->
{"Iota", "921"}, // ギリシャ大文字の iota、U 0399 -->
{"Kappa", "922"}, // ギリシャ大文字のカッパ、U 039A -->
{"Lambda", "923"}, // ギリシャ大文字 lambda,U 039B ISOgrk3 -->
{"Mu", "924"}, // ギリシャ大文字の mu、U 039C -->
{"Nu", "925"}, // ギリシャ大文字 nu、U 039D -->
{"Xi", "926"}, // ギリシャ大文字 xi, U 039E ISOgrk3 -->
{"Omicron", "927"}, // ギリシャ大文字のオミクロン、U 039F -->
{"Pi", "928"}, // ギリシャ大文字 pi, U 03A0 ISOgrk3 -->
{"Rho", "929"}, // ギリシャ大文字のロー、U 03A1 -->
//
{"Sigma", "931"}, // ギリシャ大文字 sigma,U 03A3 ISOgrk3 -->
{"Tau", "932"}, // ギリシャ大文字のタウ、U 03A4 -->
{"Upsilon", "933"}, // ギリシャ大文字 upsilon,U 03A5 ISOgrk3 -->
{"Phi", "934"}, // ギリシャ大文字 phi,U 03A6 ISOgrk3 -->
{"Chi", "935"}, // ギリシャ大文字の chi、U 03A7 -->
{"Psi", "936"}, // ギリシャ大文字 psi,U 03A8 ISOgrk3 -->
{"Omega", "937"}, // ギリシャ大文字 omega,U 03A9 ISOgrk3 -->
{"alpha", "945"}, // ギリシャ語の小文字 alpha,U 03B1 ISOgrk3 -->
{"beta", "946"}, // ギリシャ語の小文字ベータ、U 03B2 ISOgrk3 -->
{"gamma", "947"}, // ギリシャ語の小文字 gamma,U 03B3 ISOgrk3 -->
{"delta", "948"}, // ギリシャ語の小文字 デルタ,U 03B4 ISOgrk3 -->
{"epsilon", "949"}, // ギリシャ語の小文字 epsilon,U 03B5 ISOgrk3 -->
{"zeta", "950"}, // ギリシャ語の小文字ゼータ、U 03B6 ISOgrk3 -->
{"eta", "951"}, // ギリシャ語の小文字 eta, U 03B7 ISOgrk3 -->
{"theta", "952"}, // ギリシャ語の小文字 theta,U 03B8 ISOgrk3 -->
{"iota", "953"}, // ギリシャ語の小文字 iota, U 03B9 ISOgrk3 -->
{"kappa", "954"}, // ギリシャ語の小文字 kappa,U 03BA ISOgrk3 -->
{"lambda", "955"}, // ギリシャ語の小文字 lambda,U 03BB ISOgrk3 -->
{"mu", "956"}, // ギリシャ語の小文字 mu, U 03BC ISOgrk3 -->
{"nu", "957"}, // ギリシャ語の小文字 nu, U 03BD ISOgrk3 -->
{"xi", "958"}, // ギリシャ語の小文字 xi, U 03BE ISOgrk3 -->
{"omicron", "959"}, // ギリシャ語の小文字 omicron, U 03BF NEW -->
{"pi", "960"}, // ギリシャ語の小文字 pi, U 03C0 ISOgrk3 -->
{"rho", "961"}, // ギリシャ語の小文字 rho, U 03C1 ISOgrk3 -->
{"sigmaf", "962"}, // ギリシャ語の小文字の最後のシグマ,U 03C2 ISOgrk3 -->
{"sigma", "963"}, // ギリシャ語の小文字 sigma,U 03C3 ISOgrk3 -->
{"tau", "964"}, // ギリシャ語の小文字 tau, U 03C4 ISOgrk3 -->
{"upsilon", "965"}, // ギリシャ語の小文字 upsilon,U 03C5 ISOgrk3 -->
{"phi", "966"}, // ギリシャ語の小文字 phi, U 03C6 ISOgrk3 -->
{"chi", "967"}, // ギリシャ語の小文字 chi, U 03C7 ISOgrk3 -->
{"psi", "968"}, // ギリシャ語の小文字 psi, U 03C8 ISOgrk3 -->
{"omega", "969"}, // ギリシャ語の小文字 omega,U 03C9 ISOgrk3 -->
{"thetasym", "977"}, // ギリシャ語の小文字シータ記号,U 03D1 NEW -->
{"upsih", "978"}, // ギリシャ語のウプシロンとフック記号,U 03D2 NEW -->
{"piv", "982"}, // ギリシャ語の円周率記号、U 03D6 ISOgrk3 -->
//
{"bull", "8226"}, // ブレット = 黒の小さな円,U 2022 ISOpub -->
//
{"hellip", "8230"}, // 水平省略記号 = 3 つのドットリーダー,U 2026 ISOpub -->
{"prime", "8242"}, // プライム = 分 = フィート, U 2032 ISOtech -->
{"Prime", "8243"}, // ダブルプライム = 秒 = インチ,U 2033 ISOtech -->
{"oline", "8254"}, // 上線 = 間隔オーバースコア,U 203E NEW -->
{"frasl", "8260"}, // 分数スラッシュ、U 2044 NEW -->
//
{"weierp", "8472"}, // スクリプト大文字 P = power set= Weierstrass p, U 2118 ISOamso -->
{"image", "8465"}, // ブラックレター大文字 I = 虚数部,U 2111 ISOamso -->
{"real", "8476"}, // ブラックレター大文字 R = 実部記号,U 211C ISOamso -->
{"trade", "8482"}, // 商標記号、U 2122 ISOnum -->
{"alefsym", "8501"}, // アレフ記号 = 最初の超限基数,U 2135 NEW -->
//
//
{"larr", "8592"}, // 左向き矢印, U 2190 ISOnum -->
{"uarr", "8593"}, // 上向き矢印, U 2191 ISOnum-->
{"rarr", "8594"}, // 右向き矢印, U 2192 ISOnum -->
{"darr", "8595"}, // 下向き矢印, U 2193 ISOnum -->
{"harr", "8596"}, // 左右矢印, U 2194 ISOamsa -->
{"crarr", "8629"}, // コーナーが左向きの下向き矢印 = キャリッジ リターン、U 21B5 NEW -->
{"lArr", "8656"}, // 左向き二重矢印, U 21D0 ISOtech -->
//
{"rArr", "8658"}, // 右向き二重矢印,U 21D2 ISOtech -->
//
{"dArr", "8659"}, // 下向き二重矢印, U 21D3 ISOamsa -->
{"hArr", "8660"}, // 左右二重矢印,U 21D4 ISOamsa -->
//
{"forall", "8704"}, // すべての場合、U 2200 ISOtech -->
{"part", "8706"}, // 偏微分, U 2202 ISOtech -->
{"exist", "8707"}, // 存在します、U 2203 ISOtech -->
{"empty", "8709"}, // 空のセット = null セット = 直径,U 2205 ISOamso -->
{"nabla", "8711"}, // nabla = 後方差分,U 2207 ISOtech -->
{"isin", "8712"}, // の要素、U 2208 ISOtech -->
{"notin", "8713"}, // の要素ではありません, U 2209 ISOtech -->
{"ni", "8715"}, // メンバーとして U 220B ISOtech が含まれます -->
//
{"prod", "8719"}, // n 項積 = 積符号,U 220F ISOamsb -->
//
{"sum", "8721"}, // n 項合計、U 2211 ISOamsb -->
//
{"minus", "8722"}, // マイナス記号、U 2212 ISOtech -->
{"lowast", "8727"}, // アスタリスク演算子、U 2217 ISOtech -->
{"radic", "8730"}, // 平方根 = 根号記号,U 221A ISOtech -->
{"prop", "8733"}, // に比例、U 221D ISOtech -->
{"infin", "8734"}, // 無限大, U 221E ISOtech -->
{"ang", "8736"}, // 角度, U 2220 ISOamso -->
{"and", "8743"}, // 論理積 = ウェッジ, U 2227 ISOtech -->
{"or", "8744"}, // 論理和 = vee, U 2228 ISOtech -->
{"cap", "8745"}, // 交差 = キャップ, U 2229 ISOtech -->
{"cup", "8746"}, // Union = カップ, U 222A ISOtech -->
{"int", "8747"}, // 積分, U 222B ISOtech -->
{"there4", "8756"}, // したがって、U 2234 ISOtech -->
{"sim", "8764"}, // チルダ演算子 = によって異なります = に似ています,U 223C ISOtech -->
//
{"cong", "8773"}, // ほぼ等しい、U 2245 ISOtech -->
{"asymp", "8776"}, // ほぼ等しい = 漸近的,U 2248 ISOamsr -->
{"ne", "8800"}, // 等しくない, U 2260 ISOtech -->
{"equiv", "8801"}, // と同一、U 2261 ISOtech -->
{"le", "8804"}, // 以下、U 2264 ISOtech -->
{"ge", "8805"}, // 以上,U 2265 ISOtech -->
{"sub", "8834"}, // のサブセット、U 2282 ISOtech -->
{"sup", "8835"}, // のスーパーセット、U 2283 ISOtech -->
// // のサブセットではありません, U 2284 ISOamsn -->
{"sube", "8838"}, // のサブセットまたは等しいU 2286 ISOtech -->
{"supe", "8839"}, // 以下のスーパーセット、U 2287 ISOtech -->
{"oplus", "8853"}, //丸で囲ったプラス = 直接和,U 2295 ISOamsb -->
{"otimes", "8855"}, // 丸で囲んだ回数 = ベクトル積,U 2297 ISOamsb -->
{"perp", " 8869"}, // アップタック = 直交 = 垂直,U 22A5 ISOtech -->
{"sdot", "8901"}, // ドット演算子, U 22C5 ISOamsb -->
/ / //
{"lceil", "8968"} , // 左天井 = apl upstile,U 2308 ISOamsc -->
{"rceil", "8969"}, // 右天井, U 2309 ISOamsc --> 8970"}, // 左床 = apl downstile,U 230A ISOamsc -->
{"rfloor", "8971"}, // 右床, U 230B ISOamsc -->
{"lang ", "9001"}, // 左向き山括弧 = bra,U 2329 ISOtech -->
//
{"rang", "9002"}, // 右向き山括弧 = ket,U 232A ISOtech -->
//
//
{"loz", "9674"}, // 菱形, U 25CA ISOpub -->
//
{"spades", "9824"}, // 黒のスペードスーツ、U 2660 ISOpub -->
//
{"clubs", "9827"}, // 黒のクラブスーツ = shamrock,U 2663 ISOpub -->
{"hearts", "9829"}, // 黒のハートスーツ = バレンタイン,U 2665 ISOpub -->
{"diams", "9830"}, // ブラック ダイヤモンド スーツ、U 2666 ISOpub -->
//
{"OElig", "338"}, // -- ラテン大文字合字 OE,U 0152 ISOlat2 -->
{"oelig", "339"}, // -- ラテン語の小さな合字 oe, U 0153 ISOlat2 -->
//
{"Scaron", "352"}, // -- ラテン大文字の S と caron,U 0160 ISOlat2 -->
{"scaron", "353"}, // -- ラテン語の小文字 s with caron,U 0161 ISOlat2 -->
{"Yuml", "376"}, // -- 分音符付きのラテン大文字 Y、U 0178 ISOlat2 -->
//
{"circ", "710"}, // -- 修飾文字サーカムフレックスアクセント,U 02C6 ISOpub -->
{"チルダ", "732"}, // 小さなチルダ, U 02DC ISOdia -->
//
{"ensp", "8194"}, // en space, U 2002 ISOpub -->
{"emsp", "8195"}, // 全角スペース, U 2003 ISOpub -->
{"thinsp", "8201"}, // シンスペース、U 2009 ISOpub -->
{"zwnj", "8204"}, // ゼロ幅非結合子,U 200C NEW RFC 2070 -->
{"zwj", "8205"}, // ゼロ幅ジョイナー、U 200D NEW RFC 2070 -->
{"lrm", "8206"}, // 左から右のマーク、U 200E 新しい RFC 2070 -->
{"rlm", "8207"}, // 右から左へのマーク、U 200F 新しい RFC 2070 -->
{"ndash", "8211"}, // ダッシュ、U 2013 ISOpub -->
{"mdash", "8212"}, // em ダッシュ, U 2014 ISOpub -->
{"lsquo", "8216"}, // 左の一重引用符,U 2018 ISOnum -->
{"rsquo", "8217"}, // 右一重引用符,U 2019 ISOnum -->
{"sbquo", "8218"}, // 単一引用符、U 201A NEW -->
{"ldquo", "8220"}, // 左二重引用符,U 201C ISOnum -->
{"rdquo", "8221"}, // 右二重引用符,U 201D ISOnum -->
{"bdquo", "8222"}, // 二重引用符、U 201E NEW -->
{"dagger", "8224"}, // 短剣, U 2020 ISOpub -->
{"Dagger", "8225"}, // ダブルダガー, U 2021 ISOpub -->
{"permil", "8240"}, // パーミル記号、U 2030 ISOtech -->
{"lsaquo", "8249"}, // 単一の左向き角引用符,U 2039 ISO 提案 -->
//
{"rsaquo", "8250"}, // 単一の右向き角引用符,U 203A ISO 提案 -->
//
{"euro", "8364"}, // -- ユーロ記号、U 20AC NEW -->
};


さらに展開してみましょう

前から見てわかるように、エスケープ文字の真ん中の数字は Unicode です。この転送文字は上記の定義に限定されずに簡単に作成できます。たとえば、 の Unicode は 20013 であり、転送文字中 を構築すると、ブラウザによってレンダリングされた後に中央に変換されます。このような文字を表示する必要はありませんが、便利な場合があります。特殊文字を送信するのが不便な一部のシナリオでは
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート