こんにちは。「ふ」です。
前回
は(←なんかシリーズ化してきましたね)正規表現をちょこっと使って、シンタックスハイライトの入り口がちょこっとだけ見えてきました。
扨(さて)今度は、webページ上にこんな▼感じでHTMLコードを埋め込んでみたいと思います。コーディングで行き詰まってググった時に、開いたページにはよくcodeが埋め込まれてますよね?
ブラウザ
HTML
そのまんまHTMLを記述してみました。結果はご察しの事だとおもいますが、プレビューすると、
ブラウザ
当然ながらHTMLタグが実行されてしまい、ブラウザ上には<h1>などのタグは表示されません。
HTMLファイル上では「<」や「>」を入力すると、「タグ」として認識されてしまいます。そのままではブラウザ上に表記することができません。
このような特別な機能を持たされている文字は「特殊文字」と呼ばれています。
特殊文字をブラウザ上にそのまま表示させるには、「文字実体参照」という表記法を使います。これを使うことによりブラウザは「機能を持たされている文字」を「単なる文字」として解釈し、「<」や 「>」をそのまんま表示します。
ちょっとやってみますか。
HTML
こんにちは
を文字実体参照で表記してみる」」 &lt:p&gt;こんにちは&lt;/p&gt;ブラウザ
ブラウザ上にタグが表示されました。よしよし。 それでは冒頭のcodeを文字実体参照で表示させていきましょう。と・・その前に。
冒頭の文字実体参照をそのまま使うと<p>や<h1>などのタグはブロック要素としての機能も失うため、改行もキャンセルされてしまいます。
こんな感じ▼
ブラウザ
うまく改行表示されていません。
とはいうものの、いちいち<br>タグを仕込むのもかったるい。HTMLには<pre>タグという便利なものがあるので、それを使いましょう。
<pre>〜</pre>内に記述されたスペースや改行は、そのままブラウザに反映されます。
HTML
preタグを使う りんご みかん
ブラウザ
<pre>〜</pre>で囲んだほうは、改行やインデント(字下げ)がそのままブラウザに反映されていますね。
◼︎ 改行・字下げ(スペース)など、整形されたテキストをそのままブラウザに表示する機能を持っています。
◼︎ 「pre」はPreformatted Text(整形済みテキスト)の略。
すこし寄り道しましたが、「文字実体参照」と<pre>タグを使って冒頭のコードを表示してみましょう。
HTML
▲冒頭のコード。これを書き換えましょう。
html
&lt;h1&gt;サンプル&lt;/h1&gt; &lt;p&gt; webサイト上でHTMLコードを表示したい。 うまくいくだろうか。 &lt;/p&gt; &lt;a href="https://fuuno.net/"&gt; トップページへのリンク &lt;/a&gt;
扨(さて)プレビュー。
ブラウザ
整形されたテキスト、それにタグ「< >」がちゃんと表示されました。。
これでもう大丈夫ですね?
ページ上にHTMLコードを貼り付けたいときには、<pre>タグで囲み、「< >」に関しては「&lt;」と「&gt;」でそのつど表記すればいいので
「&lt;」と「&gt;」でそのつど表記すれば。。
その都度
「&lt;」と「&gt;」。。
。。。。。。。。。。。。。
タグを表示するたびにその都度「&lt;」「&gt:」を前後に入力。なんともめんどくさい!ここは正規表現で一括replaceさせましょう。
<pre>〜</pre>の中身を<div>〜</div>で囲み、その範囲に対してJavaScriptを仕込みます。
HTML
「「3//の中身をで囲む」」 「「1」」
JavaScript
ブラウザ
これでOK。
いちいち&lt;、&gt;を入力しなくても「< >」が自動的に文字実体参照に変換されてブラウザに表示されます。
ひとまずはお疲れ様でした。
swift、web、ガジェットなど。役立つ情報や観ていてたのしいページを書いていきたいと思います。
🐧 twitter 🐧