2013-03-04 4 views
0

У меня мало проблем с разбором некоторых данных с одной веб-страницы. Я пытаюсь получить имя класса определенных div.PHP Простой парсер HTML DOM - имя класса печати

Пример:

< div class="stars b3"></div> 

Я хочу, чтобы сохранить в массиве только b3. Можно ли это сделать?

Спасибо!

+0

Duplicate? http://stackoverflow.com/questions/4835300/php-dom-to-get-tag-class-with-multiple-css-class-name – user1477388

ответ

1

Смотреть это:

<?php // http://stackoverflow.com/questions/4835300/php-dom-to-get-tag-class-with-multiple-css-class-name 

$html = <<< HTML 
<td class="pos" > 
    <a class="firstLink" href="Search/?List=200003000112097&sr=1" > 
     Firs link value 
    </a> 

    <br /> 

    <a class="secondLink SecondClass" href="/Search/?KeyOpt=ALL" > 
     Second Link Value 
    </a> 
</td 
HTML; 

$dom = new DOMDocument(); 
@$dom->loadHTML($html); 
$dom->preserveWhiteSpace = false; 
$xpath = new DOMXPath($dom); 
$hrefs = $xpath->evaluate(
    "/html/body//a[@class='secondLink SecondClass']" 
); 
echo $hrefs->item(0)->getAttribute('class'); 

Ref. http://codepad.org/VZVUXgrT

+0

Спасибо за ваш ответ. Я уже видел это решение, но я не знаю, как его использовать с Php Simple DOM-библиотекой. Его можно использовать getAttribute с этой библиотекой или я просто не знаю, как правильно sintax. – MrRees

+0

Вы должны иметь возможность захватить все атрибуты из тега (например, тег 'class'), например, этот http://stackoverflow.com/questions/14456621/simple-html-dom-getting-all-attributes-from-a -tag Пример показывает тэг 'a', но вы можете изменить его, чтобы получить тег' class'. ** Действительно, вы должны просто использовать свой текущий код и просто 'explode()' значение, чтобы получить все классы по отдельности. ** – user1477388

+0

$ a-> attr это то, что я искал. Еще раз спасибо! – MrRees

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