这是我的HTML的一部分:
<div class="info">
<ul class="links">
</ul>
<h1>TEXT #1</h1>
<ul class="names">
<li>
<img src="images/flags/flag_1.gif" alt="USA" />
<h3>TEXT #2</h3>
</li>
<li>
<img src="images/flags/flag_34.gif" alt="CZ název" />
<h3>TEXT #3</h3>
</li>
</ul>
我正在使用Simple html DOM praser,我尝试获得3个文本(TEXT#1,TEXT#2,TEXT#3)
我尝试使用PHP代码:
$html = file_get_html('file.txt');
$ret = $html->find('ul[class="links"]'); //nazov filmu
foreach ($ret as $translate) {
$translate = $translate->innertext;
}
echo "$translate";
理想的结果应该是:
echo "$translate[0]"; //TEXT #1
echo "$translate[1]"; //TEXT #2
echo "$translate[2]"; //TEXT #3
答案 0 :(得分:0)
我认为“file.txt”指的是上面的HTML ...
在我看来,你的查找('ul [class =“links”]')不包含任何内容(根据示例代码)。您是否尝试选择类型为?
的所有标签答案 1 :(得分:0)
$titles = array();
$html = file_get_html('file.txt');
$html = $html->ownerDocument;
$lists = $html->getElementsByTagName("ul")
foreach($lists as $list):
if($list->getAttribute('class') == "links"):
$list = $list->ownerDocument;
$h3 = $list->getElementsByTagName('h3');
foreach($h3 as $title)
$titles->push($title);
endif;
endforeach;
echo $titles[0];