Простой HTML DOM парсер не обновляется - PullRequest
0 голосов
/ 19 января 2012

Я использую простой анализатор HTML DOM для своей собственной системы шаблонов и обнаружил проблему.

Вот моя разметка:

<div class=content>
    <div class=navigation></div>
</div>

Я заменяю div.navigation насобственный контент, такой как:

$navi= $dom->find("div.navigation",0);
$navi->outertext = "<a class=aNavi>click me!</a>";

, работает хорошо - я могу повторить его, но проблема в том, что - перед отражением я все еще хочу получить доступ / манипулировать этой ссылкой с анализатором, но анализатор не найдет ее.

$link = $dom->find("a.aNavi");

вернет ноль: (

Похоже, что парсер должен быть обновлен / обновлен после изменения внешнего текста - есть идеи, если это возможно?

1 Ответ

2 голосов
/ 19 января 2012

Я не вижу createElement -подобного метода в справочнике API , что означает, что либо документация неполная, либо вы используете не тот инструмент для работы.

Я предлагаю использовать DOMDocument и DOMDocument :: createElement () метод . Однако, если вы не можете использовать Simple HTML DOM Parser, вы можете попробовать это взломать:

$navi = $dom->find('div.navigation', 0);
$navi->outertext = '<a class="aNavi">click me!</a>';
$dom = $dom->save();
$dom = str_get_html($dom);
$link = $dom->find('a.aNavi');
...