我想要做的是获取一个带有类名的元素,并将其显示为实际的html元素,而不是节点或其内部数据
这是我的代码
$html = file_get_contents("www.site.com");
$dom = new DOMDocument('1.0');
$dom->loadHTML($html);
$element = $dom->getElementById('myid');
$string = $element->C14N();
这里是我如何使用ID,但我想现在如果有一种方法使用类显然没有getElementByClass方法
答案 0 :(得分:0)
在php dom中没有直接的方法来做到这一点。您将必须遍历所有元素并检查其class属性是否包含您需要的类名...
$html = file_get_contents("www.site.com");
$dom = new DOMDocument('1.0');
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName('div') as $element) {
if (strpos($element->getAttribute('class'), 'yourClassNameHere') !== false) {
$string = $element->C14N();
}
}
您还可以使用DOMXpath:
$xpath = new DOMXpath($doc);
foreach ($xpath->query("*/div[@class='yourClassNameHere']") as $element) {
$string = $element->C14N();
}