Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: filter/macbinary.pl試用結果



寺西です。

"Sakuma,Hiroaki" wrote:
> 
>     # remove all elements
>     $$contref =~ s!</?([A-Z]\w*)[\:\[]*\w*(?:\s+[A-Z]\w*(?:\s*=\s*(?:(["']).
> *?\2|[\w\-.]+))?)*\s*>!element_space($1)!gsixe;
> 
> でどうでしょうか?
> <o:p></o:p>
> なら,element_space("o") が呼ばれます.

文書のフォントの情報、"o"、"v"、"w"、"x"、"p" は削除できるようですが、 
<![if !supportEmptyParas]> <![endif]> は残りますね。
("!" が ([A-Z]\w*) にマッチしないので。)

> ":"や"["がタグの中に入っているのでマッチしないのかなと思うのですが
> うかつに触るとエンバグしそうな正規表現なのでどなたかアドバイスを。

remove_html_elements の一回のマッチングで削除するのは(正規表現を書く
のが)大変そうなので、Office マークアップ用の正規表現を書いて、
2段階で削除するのが簡単じゃないでようか?

とりあえず、以下の文字列を削除すればよさそうです。(きちんとした
正規表現ではありません。'()' は省略可能をしめします。)

<(/)([ovwxp]:文字列>  (将来増えるかもしれないが)
<![if (!)文字列]>
<![endif]>          (else や elseif 等があるかもしれないがとりあえず)

なお、最初の方の <o:xxx> には wvSummary で得られる情報が入って
いるようです。うまく使うと、有益な情報が得られますね。
 <o:Subject> はサブジェクト
 <o:Author> は著者
 <o:LastAutor> は最終更新者
 <o:Keywords> はキーワード  などなど。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E