我有以下文本存储在变量$new
<div class="img">
<span style="float:left; color:#666;">1. </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>
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. 
到<div
的文字。我已经尝试了所有可能的解决方案,但没有成功。
答案 0 :(得分:1)
这应该有效
$ret = preg_replace ("#1\. (.+)<div#isU", "$1", $new);
包含所有html的$ new 尽管如此,正则表达式并不是实现您想要的唯一方式,尤其不是最好的方式。
答案 1 :(得分:1)
简单的答案是:你没有。 EVER。 HTML不是常规语言,因此正则表达式 CAN NOT PARSE HTML 。您需要使用php中存在的 HTML解析器 DOM。
有关正则表达式无法使用HTML的更多信息,请阅读this thread。小马。他来了。
答案 2 :(得分:0)
如果这真的是所有代码,那就足够了
strip_tags($html);