PHP从div获得第一个孩子

时间:2014-05-16 18:11:49

标签: php domdocument

在下面的HTML代码中,我想获取p tag

的内容

实施例

<div class="body" style="text-align: justify;padding: 10px;">
   <p style="text-align: justify;" dir="RTL">
      ...............
   </p>

   TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
</div>

我目前的代码是:

$dom = new DOMDocument;
$dom->loadHTML($content);

echo $dom->getElementsByTagName('div')->item(0)->childNodes;

为什么此代码不正确以及如何解决此问题。

1 个答案:

答案 0 :(得分:3)

有趣:

如果你有这个:

<?php
$content ='
<div class="body" style="text-align: justify;padding: 10px;">
    <p>this is a paragraph</p>
    TEST TEST TEST TEST 
</div>';

$dom = new DOMDocument;
$dom->loadHTML($content);

$firstChildOfDiv = $dom->getElementsByTagName('div')->item(0)->childNodes->item(0);
$value = $firstChildOfDiv->nodeValue;
echo "<PRE>",var_dump($value),"</PRE>";

您的输出将是:

  

string(1) " "

但是,如果你有这个:

<?php
$content ='
<div class="body" style="text-align: justify;padding: 10px;"><p>this is a paragraph</p> TEST TEST TEST TEST </div>';

$dom = new DOMDocument;
$dom->loadHTML($content);

$firstChildOfDiv = $dom->getElementsByTagName('div')->item(0)->childNodes->item(0);
$value = $firstChildOfDiv->nodeValue;
echo "<PRE>",var_dump($value),"</PRE>";

您的输出将符合预期:

 string(19) "this is a paragraph"

似乎奇怪的事情发生在空白