在下面的 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>
Run Code Online (Sandbox Code Playgroud)
我当前的代码是:
$dom = new DOMDocument;
$dom->loadHTML($content);
echo $dom->getElementsByTagName('div')->item(0)->childNodes;
Run Code Online (Sandbox Code Playgroud)
为什么此代码不正确以及如何解决此问题。
有趣的:
如果你有这个:
<?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>";
Run Code Online (Sandbox Code Playgroud)
你的输出将是:
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>";
Run Code Online (Sandbox Code Playgroud)
您的输出将符合预期:
string(19) "this is a paragraph"
Run Code Online (Sandbox Code Playgroud)
空白似乎发生了一些奇怪的事情