A rather large chart of all of the standard HTML characters, and lots of the special characters, including some icons. our site is shared with Google for that purpose.
HTML Entity / Special Character Set Chart. htmlspecialchars は、フォームから送られてきた値や、データベースから取り出した値をブラウザ上に表示する際に使用します。主に、悪意のあるコードの埋め込みを防ぐ目的で使われます。(エスケープと呼ばれます) ã¥ã§ã¯ã©ã¼ããããæååãå ã«æ»ãæååããHTMLã¿ã°ãããã³PHPã¿ã°ãåãé¤ãæ¹è¡æåã®åã«HTMLã®æ¹è¡ã¿ã°ãæ¿å ¥ãã
Information about your use of If you plan to use any of the special characters on this page, you should use either the HTML entity name or the HTML entity number.
HTMLでタグなど特別な役割のなどの記号を、特殊文字に変換して返す。 外部から受け取ったデータをそのまま表示してしまうと、JavaScript等を悪用した、XSS(クロスサイトスクリプティング)の餌食になってしまう恐れがある。 HTML には、特殊文字というものがあって、 & " ' < > の各文字も、その特殊文字にあたるようです。 HTML のタグ、タグ属性値など、 HTML の構造的な部分で使用する重要な文字なので、この 5 文字を変換する関数が作られているのかも Number Code Entity Code Character Description " " " In HTML, special characters are typically those that can't be easily typed into a keyboard or may cause display issues if typed or pasted into a web page. HTMLとして文字を出力する際によく使われる htmlspecialchars() ですが、 使った時に変数の内容が全て消えてしまう時があります。 上記サンプルは UTF-8 で保存されたプログラムです。 文字を mb_Continue reading
HTML には、特殊文字というものがあって、 & " ' < > の各文字も、その特殊文字にあたるようです。 HTML のタグ、タグ属性値など、 HTML の構造的な部分で使用する重要な文字なので、この 5 文字を変換する関数が作られているのかもしれません。HTML の特殊文字は他にもあるようで、以下のリンクにのっていますが、私が数えたところ、 1,500 個ほどありました。今回、変換する & " ' < > の文字は、変換する関数が準備されているくらいなので、特殊文字の中でも更に特殊な 5 文字なのでしょう。htmlspecialchars の話しに戻りたいと思います。 htmlspecialchars で変換された & " ' < > の文字を HTML ページのソースとして入力して、ウェブブラウザで表示すると & " ' < > と表示されます。 & から ; までで 1 つの文字として解釈されて表示されるようです。ウェブブラウザで & " ' < > と表示されるということは、元の変換前の文字に戻っています。それと、元の変換前の 1 文字から、なぜ長い文字に変換しているのか。としばらくのあいだ、変換の理由がわからないままでした。その後、小なり、大なりの文字( < > の記号 )は HTML のタグとして使用されているので、そのままソースに書いておくと HTML のタグとして処理されてしまい、 <> 内に書く文字によっては、ウェブブラウザの表示崩れの原因になるかもしれないということを知りました。HTML のタグとして機能しない <> の文字を書く場合は、 &○○○; 形式への変換が必要なのでした。変換する代わりに、ウェブブラウザで <> と表示されていても、 HTML タグとしては機能しないようです。プログラム分野の用語で、特定の文字が持つ機能を無効にする処理のことを、エスケープとかサニタイズ(無害化)というらしいです。ウェブブラウザ表示用に <> をエスケープしたり、データベース保存用にシングルクオート( ' の記号 )をエスケープしたりするようです。ここまでで話しました htmlspecialchars 関数と同じようなことを、 JavaScript の正規表現の検索と置換を使用して行うことができないかと思い、作ったのが当ページの変換フォームです。下記フォームの入力内容、実行結果は、当サイト管理人および外部に送信される仕組みで作成していません。ただ、何があるか分からないので、念のため、重要な情報は入力しないほうが良いと思います。今回、変換した上記 5 つの文字ですが、読み方がよくわからないので、 Windows 10 のアクセサリに最初から入っていた、「文字コード表」アプリケーションで少し調べてみました。Unicode (ユニコード)というのがよくわかりませんが、 Excel の表で例えると、何行目の何列目はこの文字とする、と決まっている一覧表があって、そのセルのアドレス番号のようなものだと思っています。その一覧表は、国際的な仕様として定められているようです。今回の特殊 5 文字、英語、日本語、世界の国々の文字も入っているようなので、同じ表をみていれば言語が違えど文字が正確に伝わるようです。半角の小なり( < の記号)と、全角の小なり( < の記号)は見た目が似ていますが、 Unicode で表すと、半角の方は U+003C になり、全角の方は U+FF1C になります。例えば、ホームページ作成ソフトのビジュアル編集画面ではなく、ウィンドウズのメモ帳などのテキストエディタで HTML ページを一から手打ちで作成していたとして、その記述方法を誰かに教えたいとします。「 html で文字を太字で表示したい場合は 太字にしたい文字 のように、太字にしたい文字を タグで囲んでください。」それでは実際にやってみます。メモ帳に以下のテキストを入力して、「 test.html 」という名前で任意の場所に保存。保存したファイルをダブルクリックしてウェブブラウザで表示してみます。「 タグで囲んでください。」と書きたいはずが、その部分には何も表示されず、「太字にしたい文字」は、すでに太字になってしまっています。先ほどの「 test.html 」をメモ帳で開いて「 太字にしたい文字 」と「 タグで囲んで… 」の部分を、それぞれ「 <b>太字にしたい文字</b> 」と「 <b></b> タグで囲んで… 」に書きなおして保存。 はすると今度は、次のキャプチャー画像のように「 太字にしたい文字 」「 タグで囲んで… 」と意図した通りに表示されています。html のタグの記述として使用されている < と > の文字を < と > に変換することで html のタグとして認識されなくなりました。HTML のコードのポイントとしては、「 & を & に変換します。」と書いている部分でしょうか。これをブラウザで表示すると、「 & を & に変換します。」と表示されます。これは、& を & と書くためです。JavaScript のコードのポイントとしては、& の置換から始めているところです。下記のコードでは、 & " ' < > の順に変換していますが、これが逆の順序になると > < ' " & のように & が二重に変換されてしまいます。HTML のソースコードをブログに載せるのに、 & " ' < > と表示する方法がはっきりとわかっていなくて最初時間がかかったので、その方法を最初から順を追って書いておきたいと思います。最終的には、 & の変換を 2 回実行しないと、 & " ' < > と表示されなかったのでした。上のテキストを「 test2.html 」という名前で保存して、ウェブブラウザで表示してみると、以下の画像のようになります。 test2.html をダブルクリックすれば既定のブラウザで表示されると思います。本文が入力したまま表示されていますが、ブラウザでソースを見てみると、本文として入力した < のタグが赤色の文字で表示されていて、何かの注意を表しているようです。赤文字になったのは、今回の表示に使用したウェブブラウザ Mozilla Firefox に限っての機能かもしれませんが、注意的に見えます。次は、 & " ' < > を & " ' < > に変換したものを本文としてみます。ここが 今度は、 &○○○; 形式で入力した文字が 1 文字として表示されています。初回の表示と変わりがないように思いましたが、ブラウザでソースを見てみると、 < の赤文字はなくなっています。※ & " ' < > の部分は朱色で表示されています。特殊文字を朱色で表示するようです。ここまでで 1 回、特殊文字の変換をかけていますが、ウェブブラウザでは、 & " ' < > と表示されています。ということで、もう 1 回、 1 回目の特殊文字変換で & " ' < > となっているので、 2 回目の変換では、 & " ' < > の中の & のみが該当し変換されます。 & が & に変換されます。この時のブラウザのソースを見ると以下のようになっています。 & の部分が朱色で表示されています。この部分のみが特殊文字になっているようです。Google serves cookies to analyse traffic to this site. PHPスクリプト入門講座。PHPスクリプトの書き方を初心者にも分かるように解説するPHP入門サイト。このページではPHPの関数htmlspecialchars()の解説を行っています。