0

重複の可能性:
PHP で HTML を解析および処理する方法は?

次のテキストを変数に格納しています$new

<div class="img">
<span style="float:left; color:#666;">1.&nbsp;&nbsp;</span>
<a href="/Books/info/J-R-R-Tolkien/The-Lord-of-the-Rings/0618640150.html?utm_term=lord+of+the+ring_1_1">
<img src="http://cdn-img-b-tata.infibeam.net/img/6a53fabc/157/0/9780618640157.jpg?wid=90&hei=113" width="90" height="113" border="0">
</a>
</div>
<span class="title">
<h2 class="simple"><a href="/Books/info/J-R-R-Tolkien/The-Lord-of-the-Rings/0618640150.html?utm_term=lord+of+the+ring_1_1"><em>Lord</em> of the <em>Rings</em></a></h2>
&nbsp;By
<a href="/Books/search?author=J R R Tolkien" style="font-size:12px; text-decoration:none;">J R R Tolkien</a>
<span style="color:#666666; font-size:11px;">[Paperback 2005, 50th Edition]</span>
</span>
<div class="price" style="line-height:30px;margin-top:0px;">

から1.&nbspまでのテキストを抽出する必要があります<div。考えられるすべての解決策を試しましたが、成功しませんでした。

4

3 に答える 3

1

これはうまくいくはずです

$ret = preg_replace ("#1\.&nbsp(.+)<div#isU", "$1", $new);

$newにはすべてのhtmlが含まれています。
それでも、正規表現はあなたが望むものを達成する唯一の方法ではなく、特に最良のものではありません。

于 2012-08-06T13:47:52.333 に答える
1

簡単な答えは次のとおりです。これまで。HTML は正規言語ではないため、正規表現はHTML を解析できませんDOMとして php に存在するHTML パーサーを使用する必要があります。

正規表現が HTML で機能しない理由の詳細については、このスレッドを参照してください。ポニー。彼が来る。

于 2012-08-06T13:55:29.600 に答える
0

それが本当にすべてのコードである場合、これで十分です

strip_tags($html);
于 2012-08-06T13:52:49.587 に答える