2013-07-23 2 views
0

это часть моей HTML:Get HTML из файла, используя SIMPLE HTML DOM

<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

Почему вы не делаете, что в JavaScript? –

+0

Я сделал 90% в PHP уже, только немногие больше, как это отсутствует – Andurit

ответ

0

Я предполагаю, что «file.txt» относится к вышеуказанному фрагменту HTML ...

Мне кажется, что ваша находка ('ul [class = "links"]') не содержит ничего (согласно образец кода). Вы пытаетесь выбрать все теги с типом?

+0

Вы правы, код HTML в моем первом сообщении является частью файла file.txt. Я просто не знаю, как выбрать что-то подобное из HTML. Так что мой PHP-код может быть тотально ошибочным – Andurit

0

PHP

$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]; 
+0

Спасибо за ваш ответ, но он бросил мне эту ошибку: Ошибка синтаксиса: неожиданный «массив» (T_ARRAY) – Andurit

+0

@Andurit Попробуйте с этим кодом (я отредактировал мой ответ). Прошло некоторое время с тех пор, как я закодировал некоторый PHP-контент, поэтому у меня была неправильная часть инициализации массива. Теперь это исправлено. –

+0

эй, его все еще бросают некоторые ошибки: Примечание: попытка получить свойство не-объекта Неустранимая ошибка: вызов функции-члена getElementsByTagName() для объекта, не являющегося объектом – Andurit

Смежные вопросы