Php 获取<;p>;使用dom解析器的标记

Php 获取<;p>;使用dom解析器的标记,php,dom,curl,Php,Dom,Curl,我使用curl将网站内容提取到变量中。现在,使用“url”或获取的内容,我想将所有标记提取到一个变量中。 谁能给我指点一下吗 几个小时后,我刚刚能够用php创建一个DOM文档 这是我写的代码: $domDoc = new DOMDocument(); $domDoc->loadHTML($content); print_r($domDoc); $paragraphs = $domDoc->getElementsByTagName("p"); foreach ($paragraph

我使用
curl
将网站内容提取到变量中。现在,使用“url”或获取的内容,我想将所有
标记提取到一个变量中。 谁能给我指点一下吗

几个小时后,我刚刚能够用php创建一个DOM文档

这是我写的代码:

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

print_r($domDoc);

$paragraphs = $domDoc->getElementsByTagName("p");
foreach ($paragraphs as $paragraph)
    $paragraph->item(0)->nodevalue;
其中
$content
包含使用

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url[url]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$xml_contents = curl_exec ($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close ($ch);
$website_content = $xml_contents;

有人可以指导我吗?

您不需要在
foreach
循环中使用
item()
。只需直接从
$paragration
变量访问
nodeValue
,即可获得
p
标记的内容

只有在使用正常的
for
循环时,才需要使用
item()

for ($i = 0; $i < $paragraphs->length; $i++) 
{
    echo $paragraphs->item($i)->nodeValue;
}
for($i=0;$i<$段落->长度;$i++)
{
echo$段落->项目($i)->节点值;
}

您收到任何错误吗?你想在哪一部分得到指导?我可能会犯这个错误。DOMDocument::loadHTML()[DOMDocument.loadHTML]:htmlParseEntityRef:应为“;”在实体中。@Adithya:您加载的HTML非常无效,甚至
DOMDocument::loadHTML
都无法修复它(可能)。至少你得到了错误。您可以禁用错误:但是如果文档损坏太多,您需要首先修复它,请参见。是的..我遇到了问题。谢谢。