Crayon Syntax Highlighterで記号が変なふうに表示される問題の解決

スポンサーリンク

最近カスタマイズネタでコードをメモすることが多くなってきたので、
Crayon Syntax Highlighterを導入しました。

ところが < などのHTMLタグが &gt; などに置き換わって
なんだかよくわからない事態になってきたので、
解決法も合わせてメモしておきます。
オーマイガッ

こちらのサイトに仕組みやらなんやら書かれてました。

crayon-syntax-highlighterで勝手にHTMLEscapeされる問題をどうにかしたい | デジタネイティブ

リスクは自己責任になりますが、まずは何事もやってみたいのでやります←

htmlspecialcharsを使ってる行をコメントアウト

crayon_formatter.class.phpというファイルを探します。
私の環境では

public_html/blog/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php

にありました。
crayon_formatter.class.phpをテキストエディタで開いて
htmlspecialcharsという単語で検索かけます。

       /* Convert <, > and & characters to entities, as these can appear as HTML tags and entities. */
        if ($escape) {
            $code = CrayonUtil::htmlspecialchars($code);
        }

見つかったら行頭に「//」を入れてコメントアウトします。

       /* Convert <, > and & characters to entities, as these can appear as HTML tags and entities. */
        if ($escape) {
            //$code = CrayonUtil::htmlspecialchars($code);
        }

「&=」や「&」をコメントアウト

次はoperator.txtファイルの編集です。
私の環境では

public_html/blog/wp-content/plugins/crayon-syntax-highlighter/langs/default/operator.txt

にありました。
これをテキストエディタで開いて「&=」や「&」の前に「# 」を入れて
コメントアウトします。

# &=
# &

修正後 はこうなりました。
色分けもちゃんと出来てる
とりあえずちゃんと表示されてるっぽいですねε-(´∀`*)ホッ

参考
crayon-syntax-highlighterで勝手にHTMLEscapeされる問題をどうにかしたい | デジタネイティブ
WordPressでが勝手にエスケープされる場合の対処

コメント

  1. […] Crayon Syntax Highlighterで記号が変なふうに表示される問題の解決 | くにぽん’ず★きちめきパラダイス […]

  2. […] Crayon Syntax Highlighterで記号が変なふうに表示される問題の解決 […]