こんにちは、rubyについては(ほかもそうですが)タコでしていつもdomのTDa
ともうします。


Masaaki Sakano <mas / star.le.ac.uk> wrote:

> 坂野 正明です。
> 
> At Fri, 11 Jan 2002 08:50:58 +0900,
> m_seki / mva.biglobe.ne.jp wrote:
> > htmlからbodyだけ(またはbodyの内側だけ)を取り出したいのですが、
> > どんな方法があるでしょう?
> > 

>  1. <body> の前、または </body> の後ろに
> 	<!-- <body> <!-- <body> --> -->
>     などのような"<body>"(など)を含むコメント文があると間違ってパースする。
>   # 多重コメントはHTML4.01で認められていましたっけ?
だめです。コメントは<>で囲まれて !-- から始まり「--まで」です。
ですからブラウザの解釈にもよりますが

<!-- comment1 <!-- coment2 --> comment3 -->

とかくとブラウザ上では

comment3 -- (>)?

と表示されます。
Cでコメントが入れ子にできないのと同じです。

やりがちなのは
区切りのつもりで
<!--------------------------------------------------->
とすると4つ目の-のあとが画面に出力されることです。
(確かIEではコメントにしてくれたけどそれだけに気づかない人がかえって
多いと思う。)

2の文字コードに関しては深い深い問題がありますからrubyだけでどうなる
ものでもないような。

3)はbodyの内側を書き出すという使用からすると</body>がないものに対応
できないのは仕方ないとあきらめるしかないように思います。

/************************************************/
/******              TDa             ************/
/******       mailto:tda / plum.to     ************/
/************************************************/