こんにちは、私の質問を見ていただきありがとうございます。 私はHTMLスニペットからいくつかのデータを取得する必要があります。 このソースは信頼できる/構造化されたソースなので、このHTMLでregexを使用することは問題ないと思います。ドームとPHPの他の高度な機能は私が推測する過剰人です。DIVタグの内容を取得する正規表現
ここにHTMLスニペットの形式を示します。
<div id="d-container">
<div id="row-custom_1">
<div class="label">Type</div>
<div class="content">John Smith</div>
<div class="clear"></div>
</div>
</div>
上記のうち、最初の2つのDIVタグにはIDが設定されていることに注意してください。 divタグのようないくつかの行custom_1が存在する可能性があるので、それらをエスケープする必要があります。
私は実際には正規表現では非常に貧弱ですので、上記のHTMLスニペットからJohn Smithにあなたの助けを期待しています。
それは
<div * id="row-custom_1" * > * <div * class="content" * >GRAB THIS </div>
のようなものかもしれないが、私は正規表現でそれを行う方法がわかりません。 John Smithの部分には確かにhtmlが含まれていません。すべてのhtmlを取り除き、上記の形式でデータを提供するのは信頼できるソースからのものです。
とにかく正規表現は決してHTMLを処理するための良いアイデアではないことが理解できます。 ありがとうございました。
30分後に編集: すばらしい人の多くは、HTMLパーサーを使用するように提案しました。魅力的に働いた。だから誰も愚かな質問の著者のように、同様の質問でここに来る場合、私は仕事のためにDOMを使用することをお勧めしたいと思います。
ようこそ! RegExを使ってHTMLを解析することは、[あなたを狂ってしまう]ようにしないでください(http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) 。代わりに、[HTMLパーサ](http://stackoverflow.com/questions/292926/robust-mature-html-parser-for-php)を使用してください。 –
@Truth:はい、私は同意します。私はこれを尋ねる前にここで多くの質問を読んで、私がしようとしていることが間違っていることに気づいた。 しかし、私はここでhtmlパーサーを使用することに非常に不思議です。私はページのHTMLタイトルを設定するユーザーの名前を取得しようとしているので、各ページの読み込み時にいくつかのDOMを起動することはあまり良いアイデアでもありません。 html構造は必ず同じです。 もう一度ありがとうございます。 –
あなたのソースが「信頼できる」ものであっても、それが有効であることを確認する必要があります。 HTMLパーサーを使用する –