【发布时间】:2013-07-03 10:16:54
【问题描述】:
请注意,我的问题专门针对“简单的 HTML DOM 库”! 有 3k+ 行代码,我对使用不同的解析器没有兴趣。
可以在此处找到参考: “如何查找 HTML 元素”http://simplehtmldom.sourceforge.net/manual.htm
使用以下代码,我尝试从各种 div 元素中提取主页 URL。
定义后代选择器div[...] li a 很容易。但为了缩小范围,我尝试了主页:
- 第 6 个
li元素...通过索引(见下文,导致错误“尝试获取非对象的属性”) - 那个奇怪的
label=Internet:进入代码
不幸的是,我没有成功:)
期望的输出
http://www.someurl.com/
http://www.anotherurl.com/
无效的代码
foreach($html->find('div[class=contact-data] li a', 6) as $element_details) {
// variable $html contains the Input listed below
// Output $element_details
}
输入(存储在变量$html中)
<div class="contact-data">
<ul class="plain-list">
<li>
Somestreet 18</li>
<li>
88888
Somecity</li>
<li>
<label>
Tel:</label>123/123456</li>
<li>
<label>
Fax:</label>123/123457</li>
<li>
<label>
E-Mail:</label><a href="http://www.somesite.com/de/Service/ContactParam?mail_pnr=000290080" onclick="">Contact</a></li>
<li>
<label>
Internet:</label><a href="http://www.someurl.com/">Homepage</a></li>
<li>
<div style="margin-left: 0px">
</div></li>
</ul>
</div>
<div class="contact-data">
<ul class="plain-list">
<li>
Anotherstreet 68</li>
<li>
88888
Anothercity</li>
<li>
<label>
Tel:</label>123/123447</li>
<li>
<label>
Fax:</label>123/123458</li>
<li>
<label>
E-Mail:</label><a href="http://www.anothersite.com/de/Service/ContactParam?mail_pnr=000570030" onclick="">Contact</a></li>
<li>
<label>
Internet:</label><a href="http://www.anotherurl.com/">Homepage</a></li>
<li>
<div style="margin-left: 0px">
</div></li>
</ul>
</div>
【问题讨论】:
-
如果您需要它专门用于简单的 XML,请使用标签和正文而不是标题来显示。
-
好的,我把它放在修改后的问题中。我的坏
-
我已经更新了一个我认为对您有帮助的示例,我没有使用该库的经验,但它似乎应该可以工作。
标签: php html-parsing simple-html-dom