Php 使用DOM解析html
我想从提供的特定url解析HTML数据。但我无法解析数据,因为我得到的错误很少 这是我的代码:-Php 使用DOM解析html,php,html,dom,Php,Html,Dom,我想从提供的特定url解析HTML数据。但我无法解析数据,因为我得到的错误很少 这是我的代码:- $html = new DOMDocument(); $html->loadHTML($url); //$url is where the site url is defined $value = array(); foreach($html->find($identifier) as $element) //$identifier is where d
$html = new DOMDocument();
$html->loadHTML($url); //$url is where the site url is defined
$value = array();
foreach($html->find($identifier) as $element) //$identifier is where div, a etc is stored
{
$value[] = $element->src."<br />";
}
print_r($value);
有人能帮我解决这个问题吗?我正在使用cake php 2.0,这不起作用:
$html->loadHTML($url);
LoadHTML加载字符串,例如:
$html->loadHTML("<html><body>Test<br></body></html>");
请参阅:这将不起作用:
$html->loadHTML($url);
LoadHTML加载字符串,例如:
$html->loadHTML("<html><body>Test<br></body></html>");
请参阅:如错误所示,
DOMDocument
没有find
方法。但是,它确实有很多非常好的DOM解析方法:
如果$identifier
是一个元素名,那么使用
foreach ($html->getElementsByTagName($identifier) as $element) {
$value[] = $element->nodeValue + "<br>";
}
foreach($html->getElementsByTagName($identifier)as$element){
$value[]=$element->nodeValue+“
”;
}
如错误所示,DOMDocument
没有find
方法。但是,它确实有很多非常好的DOM解析方法:
如果$identifier
是一个元素名,那么使用
foreach ($html->getElementsByTagName($identifier) as $element) {
$value[] = $element->nodeValue + "<br>";
}
foreach($html->getElementsByTagName($identifier)as$element){
$value[]=$element->nodeValue+“
”;
}
阅读您正在使用的类的文档怎么样?在php.net网站上有很好的文档记录,并且没有提到find
方法,为什么您会认为它会呢
DOMDocument
有许多方法是任何JavaScript
开发人员都熟悉的,比如getElementsByTagName
和getElementById
,这应该是您要找的
另外,如果从URL加载HTML,则DOMDocument::loadHTML
方法将无法工作,因为它需要包含有效HTML的字符串,而不是URI
DOMDocument::loadHTMLFile
可能与URL参数一起工作(不能确定,此计算机上没有安装要检查的PHP),但如果没有,您可以将DOMDocument::loadHTML
与文件获取内容
组合使用。阅读您正在使用的类的文档如何?在php.net网站上有很好的文档记录,并且没有提到find
方法,为什么您会认为它会呢
DOMDocument
有许多方法是任何JavaScript
开发人员都熟悉的,比如getElementsByTagName
和getElementById
,这应该是您要找的
另外,如果从URL加载HTML,则DOMDocument::loadHTML
方法将无法工作,因为它需要包含有效HTML的字符串,而不是URI
DOMDocument::loadHTMLFile
可能与URL参数一起工作(不能确定,这台计算机上没有安装PHP进行检查),但如果没有,您可以将DOMDocument::loadHTML
和file\u get\u contents
结合使用。据我所见的cake PHP文档。。。domDocument类没有find()函数
就我所能看到的cake php文档而言,使用Xml类的toArray()方法怎么样。。。domDocument类没有find()函数
使用Xml类的toArray()方法怎么样?标识符的具体示例是什么?例如,我取$identifier=div标识符的具体示例是什么?例如,我取$identifier=div