我一直在使用简单的HTML DOM,并一直热爱我可以用它做什么。然而,我已经碰到了一堵我想要做的事。先说说什么样的HTML看起来像PHP简单的HTML DOM - 遍历页面
<html>
<div><div><table><tr><td class="alt2"> texty texty </td></tr></table></div></div>
Text text
<div><div><table><tr><td class="alt2"> texty2 texty2 </td></tr></table></div></div>
Text2 text2
<div><div><table><tr><td class="alt2"> texty3 texty3 </td></tr></table></div></div>
Text2 text3
</html>
一个基本的想法所以basicly我需要什么,在TD的大胆的是,然后将所碰触下,每个该div。
所以我知道我可以做$ text = $ html-> find('td [class = alt2]')例如获取“texty texty”,但如何将“text text”与那之后,
如果我抓住texty2 texty2,我该如何将text2文本2与那个关联?
到底
,我的目标是为产量<p>texty texty</p><br>text text
之类的话
我要指出的是,申报单可以有不同的充类和这样的,就这么简单reg表达式中难道不工作(和希望坚持使用简单的HTML DOM如果可能的话)
-
UPDATE:
我做的这一点点代码
if ($html) {
// Pulls the div that holds the links to the champion profiles (where they have the english names)
$text = $html->find('td[class="alt2"]');
$count = 0;
foreach ($text as $holder) {
$tdholder[] = $holder->innertext;
$html->find('div',$count*2)->innertext = $holder->innertext;
echo $holder."<br><br>";
$count++;
}
}
这个代码的唯一问题是它是由divs的总数计算。这在我的例子中是可以的,因为总是有2个,但如果有2或3个,这就成了一个问题。所以现在我只需要弄清楚如何抓住第一个,第二个或第三个顶级div,我应该很好。
一个的同时等待溶液即时通讯思想,是厕所ping通过一次抓取每个TD的内容,然后再次循环,然后改变,然后简单地告诉用第一个td的内容替换第一个顶级div ...现在处理它 – user1807658
“文本文本” ,'Text2 text2'和'Text2 text3'不在任何html标签中,这使得您的请求模糊不清 – Baba
@Baba这就是问题所在。如果他们在标签中,我可以通过数组匹配它们。 – user1807658