0

PHP と preg* 関数を使用して HTML スクレイピングを行おうとしたときに、この問題に何度か遭遇しました。

ほとんどの場合、次のような構造をキャプチャする必要があります。

<!-- comment -->
<tag1>lorem ipsum</tag>

<p>just more text with several html tags in it, sometimes CDATA encapsulated…&lt;/p>
<!-- /comment -->

特に、私はこのようなものが欲しいです:

/<tag1>(.*?)<\/tag1>\n\n<p>(.*?)<\/p>/mi

しかし、\n\nは機能しないようです。

一般的な改行スイッチはありますか?

4

3 に答える 3

3

文字だけではなくペアをキャプチャするこの方法\n\nでを置き換えることができると思います。(\r?\n){2}CRLFLF

于 2009-07-04T09:42:59.687 に答える
1

正規表現を使用して HTML を解析してもよろしいですか? HTML は規則的ではなく、コーナー ケースが多すぎます。

何らかの形式の HTML パーサー (おそらくこれ?) を調査し、返された HTML データ構造を介して関心のあるパターンを特定します。

于 2009-07-04T09:44:15.940 に答える
0

または、phpのDom拡張機能を確認することもできます。文字列またはファイルからhtml をロードする機能があります。次に、php domメソッドを使用して、domをトラバースし、関心のあるデータを見つけることができます。

于 2009-07-04T10:13:12.763 に答える