Tag Archives: WordPress

Crayon Syntax HighlighterでHTMLエスケープを防ぐ

Latexの図, 表の書き方
を書くにあたって, 苦労したことのメモ

問題

&が;amp&にエスケープされてしまう, \\が\になる

SyntaxHighlight内でエスケープされてしまうのでソースコードが正しく表示されなかった

対策

crayon-syntax-highlighterで勝手にHTMLEscapeされる問題をどうにかしたい – デジタルネイティブ
WordPressで<や>が勝手にエスケープされる場合の対処 – b.Labo

を参考にした

HTMLエスケープをやめさせる

crayon_formatter.class.phpの

if ($escape) {
    $code = CrayonUtil::htmlspecialchars($code);
}

をコメントアウトする

&をデリミタから除外

&=は必要ない気がするけど参考ページでは除外してたので一応しておく. 必要になったら適宜やるのが一番よさげ
(wordpressのディレクトリ)/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php
を開いて

# &=
# &

とするだけ

\\は諦める

諦めました ~~(対策とは…)~~
普通に\\\\と入力して事無きを得た
latexの改行をすべて\\から\\\\に置き換えるのつらそう
もしかしたらいい方法があるかもしれないけど疲れた