8件中 1-5件目     [ 1 2 ]

PythonのHTMLパーサであるBeautifulSoupは、多くのHTMLパーサと同じように壊れたHTMLでも読み込むことができる。開始タグだけ書いて終了タグを書き忘れたものがあれば終了タグを追加してくれるし、終了タグだけがあればそれを取り除いてくれる。以下の文字列のように<だけがあり>がない壊れたタグがある場合にはそれ以降の文字列が取り除かれる。

ここから
<input type = "text"
ここまで
ここから


この壊れたタグがあった場合の動作に関しては、稀に問題になることがある。


取得したHTMLファイルやXHTMLファイルの文字列を取り出した場合、それが文字参照や実体参照で書かれていると、表示上の文字と異なってしまう。そこで、文字列に文字参照や実体参照が含まれていた場合に、それを通常の文字に戻す処理が必要になる。


PHPでHTMLをパースするには、PECL::Tidyを使う方法やDOM拡張モジュールを使う方法、「HTMLを整形式のXML文書に修正するPHPクラス : Under Construction, Baby」で配布されているようなライブラリなどを使う方法などがある。 この中でDOM拡張モジュールは、PHP5からPHPコアに含まれているため他の方法に比べて利用しやすい。


HTMLでは「あいうえお」という文字列を「&#12354;&#12356;&#12358;&#12360;&#12362;」というように数値で表すことができる。 これを数値文字参照という。

日本語文字列を数値文字参照に変換したり、逆に数値文字参照を文字に変換する場合、自力で実装しようとすると、文字エンコードを調べ全ての文字を対応する値に変換するというかなりめんどうな処理を書くことになる。


<input type="text">ではEnterを押すと勝手にsubmitされてしまうことがある。 これが便利なこともあるが、意図せずにsubmitしてしまう可能性があるため、Enterでのsubmitを防ぎたいときもある。


8件中 1-5件目     [ 1 2 ]