SyntaxHighligher 1.5.1ではPHPコード中の"empty"という文字列が2重に出力されてしまう.これはshBrushPhp.jsで"empty"という文字列がkeywordとfunctionの両方として定義されているためである.(参考: Google Code: php brush bug – empty() defined twice)

修正するにはshBrushPhp.js中に二つある"empty"という文字列のどちらかを削除すればよい.前の方の"empty"はfunctionとして定義,後の方の"empty"はkeywordとして定義しているので必要なほうを残す.

SyntaxHighlighter for Windows Live Writer 1.0.0を使っている場合,Windows Live Writerでの"Web レイアウト"表示や"Web プレビュー"表示でもこの問題が起きる.SyntaxHighlighter for Windows Live WriterではshBrushPhp.jsをdll中にリソースとして格納しているので,これを修正すればよい.

自分で修正するのが面倒な人のために,keywordとしての定義を消し,functionとしての定義だけを残したshBrushPhp.jsとSyntaxHighlighter.dllをダウンロードできるようにしておく.shBrushPhp.jsはBlogを公開しているWebサーバ上のものに上書きコピー,SyntaxHighlighter.dllは例えばWindows XPならば"C:\Documents and Settings\<YourAccount>\Local Settings\Application Data\SyntaxHighlighter"にあるのでそこに上書きコピーすればよい.



コメントを書く




XHTML: 次のタグが使用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Please note: 投稿されたコメントが表示されるにはいくらかの時間がかかります.投稿後直ちに表示されませんが投稿ボタンを何度も押さないようお願いします.