在下面的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;
为什么此代码不正确以及如何解决此问题。
答案 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"
似乎奇怪的事情发生在空白