「<start>」による挿入がIEの自動判別を妨害し、文字化けを発生させる事に対する改善案

案その1 Edit

「<start>」を使用しているフィルタを全て以下の様に書き換える

  1. フィルタ名の最後に「  <FIRST>」を入れる  (書き換えやすいように)
  2. Allow for multiple matches にチェックを入れる
    (新しく吐き出した物が他のフィルタで処理されると困る場合は、上手くフラグを立てて回避させる 4.5b以降の$SET(変数=値)が便利)
  3. URL に 「$IHDR(content-type: text/html)」 を入れる  (<start>はcontent-type: text/htmlでしか動かない)
  4. Limit を 256 にする  (IEはそれ以上自動判別に使用しない)
  5. Match を(=<start>を)以下の物に書き換える
     ((<[%00]+
    (m[%00]+e[%00]+t[%00]+a|l[%00]+i[%00]+n[%00]+k|h[%00]+t[%00]+m[%00]+l|h[%00]+e[%00]+a[%00]+d|
    \?[%00]+x[%00]+m[%00]+l|![%00]+d[%00]+o[%00]+c[%00]+t[%00]+y[%00]+p[%00]+e)
    [%00]+(\s*|/*|)> |<[%00]+![%00]+-[%00]+-[^<>]++-[%00]+-[%00]+> |
    <[%00]+t[%00]+i[%00]+t[%00]+l[%00]+e[%00]+(\s*|/*|)>[^<>]+<[%00]+/[%00]+t[%00]+i[%00]+t[%00]+l[%00]+e[%00]+(\s*|/*|)> )+)\0|
  6. Replace の頭に 「$STOP()\0」を入れ、その後に吐き出したい物を入れる

これで、meta, link, html, head, ?xml, !doctype, コメント, title タグの後ろに吐き出したい物が吐き出される。
=コメント、TITLEタグにその文字コードにしかない文字が含まれている事を期待している。 少々温い気がするが、作者はこれでうまくいっている。



案その2 Edit

Name = "MojiBakeTaisaku"
Active = TRUE
URL = "^$LST(Nostartjava)"
Limit = 256
Match = "<start>"
Replace = "<!--京-->"

こんなのを<start>を使うフィルタの中でも一番上に入れとくと効果があるかも。

参考リンク http://chihiro.s34.xrea.com/blog/item_36.html



複製名前変更