Проблема PHP DOMXPath - PullRequest
2 голосов
/ 26 мая 2011
$xpath = new DOMXpath($doc);
$res = $xpath->query(".//*[@id='post2679883']/tr[2]/td[2]/div[2]");
foreach( $res as $obj ) {
    var_dump($obj->nodeValue);
}

Мне нужно взять все элементы в id со словом "post".

Пример:

<div id="post2242424">trarata</div>
<div id="post114525">trarata</div>
<div id="post8568686">trarata</div>

Вопрос номер два: мне нужно получить эти элементыс тегами HTML, но $obj->nodeValu e возвращает текст без тегов HTML.

1 Ответ

2 голосов
/ 27 мая 2011

Вы можете использовать функцию xpath starts-with, чтобы отфильтровать узлы в вашем XPath, если все узлы, которые вы хотите начать с «post». Например;

$xpath->query(".//*[starts-with(@id, 'post')]/tr[2]/td[2]/div[2]");

Что касается второй части, я думаю, что на нее уже есть ответ - PHP DOMDocument извлекает теги HTML

...