Sumirexxx

今日もiPhone片手に出かけます

【SMRX】[WordPress]『Syntax Highlighter Evolved』ソースコードをキレイにするプラグインの文字化け解消する方法 はてなブックマーク - 【SMRX】[WordPress]『Syntax Highlighter Evolved』ソースコードをキレイにするプラグインの文字化け解消する方法

WordPress

Syntaxhighlighter php

おなかすいた〜!すみれ(@sumire20120524)です。

WordPressをいじってブログを書いていると、ソースコードを紹介したい時っていうのが出てきますよね。

そんな時に使えるプラグインが『Syntax Highlighter Evolved』。このプラグインを入れて、紹介したいソースコードの言語名で囲むと、ブログで表示した時にキレイに見せてくれます。

このプラグイン、なぜか文字化けするのが最大の難点だったのですが、文字化けを解消してくれる方法をこちらで見つけました。

MarsEditで投稿したときに SyntaxHighlighter Evolvedが文字化けしないようにする方法 | 非エンジニアのWordPress奮闘記

プラグインを編集するのって大変なんですよね。まず見つけるのが…。ありがとうございます。

プラグインを編集する

WordPressの管理画面からプラグイン一覧を表示します。その中から今回修正したい『Syntax Highlighter Evolved』を選択します。

プラグイン Sumirexxx WordPress

別のエディタにでも貼り付けると便利。
私はCoda2を使っているのでそこに。
ctrl+nで、新規画面が開けるよ。ショートカットってどこでもだいたい使えていいね。

プラグイン編集 Sumirexxx WordPress

名称未設定 php 名称未設定サイト と Panic Soapbox

430行目を修正します

修正するのはたった一行のみ。
下記を参考にして修正してみてください。

全体・修正前

    function encode_shortcode_contents_callback( $atts, $code = '', $tag = false ) {
        $this->encoded = true;
        $code = str_replace( array_keys($this->specialchars), array_values($this->specialchars), htmlspecialchars( $code ) );
        return '[' . $tag . $this->atts2string( $atts ) . "]{$code}[/$tag]";
    }

全体・修正後

    function encode_shortcode_contents_callback( $atts, $code = '', $tag = false ) {
        $this->encoded = true;
    $code = str_replace( array_keys($this->specialchars), array_values($this->specialchars), $code );
        return '[' . $tag . $this->atts2string( $atts ) . "]{$code}[/$tag]";
    }

変更箇所はココ!

430行目の「htmlspecialchars( $code ) 」を削除しています。
これだけで文字化け解消!

修正前(htmlspecialchars( $code ) がついてる)

$code = str_replace( array_keys($this->specialchars), array_values($this->specialchars), htmlspecialchars( $code ) );

修正後(htmlspecialchars( $code ) を削除)

$code = str_replace( array_keys($this->specialchars), array_values($this->specialchars), $code );

修正が終わったら、ソースコードをコピーして、WordPress→管理画面→プラグイン→「Syntax Highlighter Evolved」に貼り付けて戻しましょう。

Banners and Alerts と プラグイン編集 Sumirexxx WordPress

まとめ

たった一行削除するだけで、ずっと悩んでいた文字化けが解消されました!
同じように悩んでいる方に届いたら嬉しいです(^^)

Posted from するぷろ for iOS.

<