サポート » 使い方全般 » kses.phpにオリジナルタグを追加してエスケープしないようにしたい

  • 解決済 nsmr

    (@nsmr)


    こんにちは。
    フォーラムのログをよく参考にさせていただいてます。
    現在、マルチサイト化した 3.2.1 を外部の PHP から記事投稿する仕組みを
    作っております。
    PHP は ver.5.2.6を使っています。

    記事内にHTMLタグではない、オリジナルのタグ(ここでは仮に「<abc>」)をつけたいのですが、
    wp_insert_post()、wp_update_post() を使って保存するとエスケープされてしまいます。
    kses.php をいじればいいだろうと記述したのですが、やはりエスケープされます。

    それが以下です。

    define( ‘CUSTOM_TAGS’, true );
    — 略 —
    $allowedposttags = array(
    — 略 —
    ‘abc’ => array ()
    );

    $allowedtags = array(
    — 略 —
    ‘abc’ => array ()
    );

    DB 上の post テーブルに手動で追加してブログ上で表示させると、閉じタグが
    「<!– abc –>」と、これもエスケープされます。

    なにかエスケープされない方法はあるでしょうか?
    アドバイスいただけますと助かります。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは、

    マルチサイト化した 3.2.1 を外部の PHP から記事投稿する仕組みを
    作っております

    外部の PHP から記事投稿する仕組みは、XML-RPCやATOMその他いろいろな方法があるので、問いが抽象的過ぎると思います

    toolsにある Press This あたりを研究してみるといいかも知れないです。

    エスケープしないというは、脆弱な環境を作ることにもなりかねないので慎重にされたほうがいいと思います。

    単にエスケープされることが、問題ならエスケープされない文字で、POSTなりして、the_content()等で表示する時にフィルタしてタグとして動作するようにプログラムするということもあるかもしれないです。

    雲つかむような気分で書いているので、見当違いなら許してくださいね

    トピック投稿者 nsmr

    (@nsmr)

    >nobita さん

    こんにちは。

    外部の PHP から記事投稿する仕組みは、XML-RPCやATOMその他いろいろな方法があるので、問いが抽象的過ぎると思います

    あ、外部ってそういう方法もあるんですね。
    自分は wp-load.php を 読み込んでつかってます。

    エスケープですが、ご指摘どおり表示する側で加工するようにするしかなさそうですね。
    付け加えたいタグも more みたいにコメント(<!– –>)を使って実装してみます。

    ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「kses.phpにオリジナルタグを追加してエスケープしないようにしたい」には新たに返信することはできません。