Не могу найти <p>в div id = footer - PullRequest
0 голосов
/ 26 января 2011

Вопрос, связанный с моим предыдущим постом, о Simple HTML DOM Parser . Это мой HTML-код:

<div id="header">
<h1>Hello World!</h1>
</div>
<div id="container">
 <div id="content">
    <p> </p>
    </div>
</div>

<div id="footer">
<p>LINK HERE</p>
</div>

Я хочу вставить ссылку в <p> нижнего колонтитула. Я мог бы вставить ссылку, но проблема в том, что если есть еще <p> перед нижним колонтитулом div <p>, ссылка будет вставлена ​​в <p> в HTML-коде. Это похоже на то, что он не может идентифицировать или не может быть обнаружен, что он ДОЛЖЕН ПОИСКАТЬ ТОЛЬКО в нижнем колонтитуле div id =, а не весь HTML-код.

Вот что у меня есть:

foreach($html->find('div#footer') as $footer) 
   {
    foreach($footer->find('p') as $p) 
   {
  $footerInnerText = $p->find('p', 0)->innertext;
  $theLink = '<a href="index.php" title="" rel="home">'. $footerInnerText. '</a>';
  $html->find('p', 0)->innertext = "\n" .$theLink."\n";
  }

Я также пробовал это:

$e = $html->find('div#footer', 0)->find('p', 0);

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 23 февраля 2011

Я нахожу узлы в HTML немного странными.Я видел немало проблем с пустыми узлами и т. Д. Например, в HTML пустое "" будет разбираться как ничто, поскольку у вас нет реального текста.

&nbsp; - это кодвам нужен пробел.

Я полагаю, что проблема может быть вызвана тем, что innerHTML P закрыта, а следовательно, не существует.Вы пытались вставить в него какие-либо значения, просто строку случайного теста или тому подобное?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...