WordPressプラグインのHighlighting Code Blockで&が#で表示される

amptosharp-e プログラミング

※当ブログでは商品・サービスのリンク先にプロモーションを含みます。ご了承ください。

Highlighting Code Blockの中で、&num#として表示されてしまってちょっと困ってしまいましたが、原因がわかったので残しておきます。

Highlighting Code Blockとは

Highlighting Code Block
prism.js を使用したシンタックスハイライト機能付きのコードブロックを追加します。 (Gutenberg とクラシックエディター共に利用可能)

WordPressのプラグインで、プログラムをきれいに表示してくれる機能があります。

例えば以下のような。

int number = 123;
number += 100;
cout << number << endl; // 223

型に色をつけてくれたりします。対応する言語を選択できるので、その言語に沿った表示をしてくれて、コードを解説するときにわかりやすく表示してくれます。

&numが#として表示されちゃう・・・

ここで、ちょっと問題にあたってしまいました。

Highlighting Code Blockの中で、&num#として表示されてしまうのです・・・。

int num = 123;
int *pointer;

pointer = # // &numって書いてるのにー!
pointer = &nom;

ちょっと困りました。&nomは表示できるので、&numだとダメらしい・・・。

解決方法

調べると、&num#のHTML entityらしい・・・

HTML entityとは

予約済み文字や見えない文字を表示するために使います。&から始まり;で終わる形式とのこと。

例えばHTMLのコードをペタッとブログに貼る時に、そのまま貼っちゃうとコードを実行してしまいますが、

コードをそれぞれHTML entityで置き換えてあげると、コードは実行せずに、コードをそのまま表示することができます。

それに使うようですね。なので、Highlighting Code Blockの中で&num;#になってしまったようです。

回避策としては、&をHTML entityで置き換えればいいんですよね。なので、

&のHTML entityである&ampに置き換えて、&ampnum;としてあげると・・

int num = 123;
int *pointer;

pointer = &num; 

できました!

地味にHTML entityを書いてしまってる可能性があるので気をつけろってことですねー。

にほんブログ村に参加しております!よろしければクリックお願いします 🙂

にほんブログ村 IT技術ブログへ
にほんブログ村

コメント

タイトルとURLをコピーしました