Я анализирую стороннюю HTML-страницу с помощью PHP DOMDocument и DomXPath. Я использую следующий код:Получить DOMNodeList элементов только с данным классом
$dom = new DOMDocument();
$html = file_get_contents($url);
$dom->loadHTML('<?xml encoding="UTF-8">' . $html);
$dom->encoding = "UTF-8";
$finder = new DomXPath($dom);
В настоящее время существует несколько элементов, использующих один и тот же класс, но я хочу, чтобы предназначаться тот, который использует только данного класса, например:
<table class="tbl"></table>
<table class="tbl red"></table>
<table class="tbl large blue"></table>
Я использую следующий селектор:
$classname = "tbl";
$nodes = $finder->query("//*[contains(@class, '$classname')]");
Который, конечно, извлекает все три таблицы, приведенные выше. Есть ли простой способ получить только первый? Thanks
Почему вы загружаете HTML с объявлением xml? – fusion3k
Кстати, вы можете использовать этот шаблон: '(// * [contains (@class, '$ classname)])) [1]' – fusion3k