サポート » プラグイン » syntax highlighterにはps disable auto formatting(タグの自動生成回避)が効かない?

  • 解決済 nico nico

    (@nico-nico)


    ブログにソースコードを公開する際に役立つプラグインsyntax highlighter for WordPress (http://wppluginsj.sourceforge.jp/syntax-highlighter/を参考にさせていただきました。)

    非常に便利なプラグインで、重宝しておりますが、HTMLエディタ、ビジュアルエディタ間を行き来すると、

    [php]PHPのソースコードを記入[/php]

    内に不要なpタグ生成されてしまいます。

    これは [ ] を使用しているせいなのでしょうか・・・。

    緊急ではないので、自分なりにも調べてみますが、お心当たりのある方、先輩の方々、どうかアドバイスをいただけたらと思いますので、どうかよろしくお願い致します。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター jim912

    (@jim912)

    nico nicoさん、こんにちは。

    PS Disable Auto Formatting作者です。
    この点については、以前からリクエストをいただいているのですが、なかなか解決が困難な問題なのです。

    本来のWordPressでは、入力時には p, br タグは保存せず、表示時に自動生成するようになっています。
    これに対し、PS Disable Auto Formatting 利用時は、入力時に p, br タグを保存し、表示時の自動生成をカットするようにしています。

    このため、Syntax Highlighter に渡る時点で、不要なタグが追加されたものになっていて、また、どのタグが不要なものかの判別が非常に困難なのです。

    解決法としてお答えできず申し訳ありませんが、現状は競合してしまうものとしてご理解いただければと思います。

    早速のお返事、有難うございます。ご本人よりご返答いただければ、納得です。

    通常ビジュアルエディタをオフにして使用しているため、気が付かなかったのですが、よほど仕事などで慣れていない限り、ほとんどの方はビジュアルエディタを主に使われると思われ、あえてビジュアルエディタをオンにいていたときに気が付きました。

    PS Disable Auto Formatting大変重宝しておりおます。仕事関係で、検証用ローカル上に、いくつものWordpressサイトを作ってきましたが、必ず入れておくプラグインの一つです。
    某企業様の配布、ですよね。

    その某企業様のウェブサイト拝見させていただいておりますが、目から鱗の情報や、実例なども豊富で、大変興味深く拝見させていただいております。

    Syntax Highlighter for WordPress 作者です。

    これに対し、PS Disable Auto Formatting 利用時は、入力時に p, br タグを保存し、表示時の自動生成をカットするようにしています。

    このため、Syntax Highlighter に渡る時点で、不要なタグが追加されたものになっていて、また、どのタグが不要なものかの判別が非常に困難なのです。

    とのことですが、いっそのこと、有効なショートコード内の記述は未変換する仕様にするのは、どうでしょうか?
    有効なショートコードの一覧は、グローバル変数の $shortcode_tags で、有効なショートコードタグを判定するための正規表現パターンは get_shortcode_regex() で取得できます。
    これらは、wp-includes/shortcodes.php に記載されています。
    ただ、ソースを見てもらうと分かるんですが Syntax Highlighter for WordPress では、特殊なことをやってるので、これらでは取得できないかもですが…

    ありがとうございます、立て続けにご本人さまからお返事をいただけるとはありがたい限りです!

    有効なショートコード内の記述は未変換する仕様

    考えはしたのですが(そうできるといいなー・・・程度)、やり方が全く検討すらつかない状態でした。

    一度試してみようと思います。正直wp-content以外を触ることはめったになく、ちょっと怖いですが、バックアップを取って検証してみたいと思います。

    先の回答とは関係ないですが、結果はわかりきっているだろうとおもいつつも、プラグイン「Front end Editor」(ダッシュボードに戻らず記事編集ができるアレです)を試してみました。
    案の定、残念な結果に・・・やはりと思いつつも念のために管理画面のhtmlエディタを確認しようと、
    WordpressのEdit(編集)ボタンでダッシュボードへ入り、記事を確認すると・・・

    意外にもショートコード内に不要なpタグは生成されていませんでした。そこでもう一度更新ボタンをおすと、ブログ記事はちゃんとSyntax Highlighterが反映された状態になりました。

    が!

    変わりに本文のpタグ,brタグが全てなくなっていました。
    [php]コード記述[/php] の中に勝手に生成されたpタグ、brタグを手で取るか、どっちの手間がかかるか・・・

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「syntax highlighterにはps disable auto formatting(タグの自動生成回避)が効かない?」には新たに返信することはできません。