読者です 読者をやめる 読者になる 読者になる

shie2’s diary

仕事とかエフェクターとかもろもろのために

はてなブログでphpのソースをSyntaxHighlighter

phpってハイライトされる?

  print = $name;

**されてないよね?

htmlとかjs(javascript)はハイライトされるけど、 phpはされない!

ちょっと調べたけどどこにもそんな記事も全くない。


さてと、どうするかね?


JSとSyntaxHighlighterでハイライトするか?

読み込みはこんな感じ。

<link rel="stylesheet" type="text/css" href="http://alexgorbatchev.com/pub/sh/3.0.83/styles/shCore.css" />
<link rel="stylesheet" type="text/css" href="http://alexgorbatchev.com/pub/sh/3.0.83/styles/shThemeDefault.css" />
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/3.0.83/scripts/shCore.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/3.0.83/scripts/shBrushJScript.js">  </script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/3.0.83/scripts/shBrushXml.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/3.0.83/scripts/shBrushCss.js"></script>
<script type="text/javascript" src="http://alexgorbatchev.com/pub/sh/3.0.83/scripts/shBrushPhp.js"></script>

前にtumblrで使ったJSを修正してつかうか。

//これはtumblr用
<script type="text/javascript">
    // SyntaxHighlighterの実装
    $(function(){
        /**
         * 引数1の中の引数2を全て引数3に変換
         */ 
        function replaceAll(expression, org, dest){  
            return expression.split(org).join(dest);
        }  

        $(".post-content pre").each(function(){
            sorce_code = $("code",this).text();
            code_type = sorce_code.match(/\/#\*.*/);
            if (code_type == null) {
                code_type = "php"
            } else {
                code_type = code_type.toString().slice(3);
            }
            sorce_code = sorce_code.replace(/\/#\*.*\s/, "");
            //<と>を変える。
            sorce_code = replaceAll(sorce_code,'<','&lt;');
            sorce_code = replaceAll(sorce_code,'>','&gt;');


            $(this).html(sorce_code);
            $(this).addClass('brush: ' + code_type);
        });
        $(".post-content pre").addClass('brush: php');
        SyntaxHighlighter.all();
    });
</script>



結果!

できねぇ~!!
tumblrか?
MDwikiか?