2011-10-29 13 views
-1

これらの2つのdivヘッダーの間のデータを取得したいと思っています。下のコードがうまくいくはずです。なぜこの正規表現は機能しませんか?

preg_match_all('$\<div class\=\"productDescriptionWrapper\"\>(.*?)\<div class\=\"emptyClear\"\>$', $source, $match); 

ありがとうございます!

+8

O GOD IT'S TERRIBLE。ごめんなさい。 http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – Cam

+1

文字列の先頭を示すには、 '^'で始める必要があります。 '$'は文字列の終わりを示すために使われます。また*後の疑問符は厄介なようです。 – user482594

+0

"良いXMLパーサーがたくさんあるときに、正規表現を使ってXMLを処理すると悪い考えがあると思います。 – chown

答えて

1

Cory、これを行うには通常DOMDocumentを使用する必要があります。 regexを使ってhtmlを解析することは、隠れたあいまいな部分が多く含まれていて、過度に複雑になっているため、良い方法とは考えられません。

http://php.net/manual/en/class.domdocument.php