/** * @param DOMNode $currentNode * @return bool */ public function canVisit(DOMNode $currentNode) { /** @var DOMElement $currentNode */ if (DomHelper::isElement($currentNode, 'div')) { if (\DomHelper::hasDescendantHeader($currentNode)) { return true; } // this div contains <tabview> tabs if (strpos($currentNode->getAttribute('id'), 'flytab') !== false) { return true; } // this div contains <tabber> tabs if ($currentNode->getAttribute('class') == 'tabber') { return true; } // each tab of <tabber> tabs - wrapped into div with class 'tabbertab' if ($currentNode->getAttribute('class') == 'tabbertab') { return true; } // if any descendant divs contains tabs $xpath = new DOMXPath($currentNode->ownerDocument); $tabDivs = $xpath->query(".//div[contains(@id, 'flytab')]", $currentNode); if ($tabDivs->length > 0) { return true; } return false; } return false; }
private function findSecondLevelNode(DOMElement $currentNode) { for ($i = 0; $i < $currentNode->childNodes->length; $i++) { if (DomHelper::isElement($currentNode->childNodes->item($i), 'div') && $currentNode->childNodes->item($i)->hasAttribute('style') && $currentNode->childNodes->item($i)->getAttribute('style') === 'padding: 1em 1.5em; min-height:500px;') { return $currentNode->childNodes->item($i); } } return null; }
/** * @param DOMNode $currentNode * @return bool */ public function canVisit(DOMNode $currentNode) { /** @var DOMElement $currentNode */ foreach ($this->tags as $tagName) { if (DomHelper::isElement($currentNode, $tagName)) { return true; } } return false; }
/** * @param DOMNode $currentNode */ public function visit(DOMNode $currentNode) { /** @var DOMElement $currentNode */ DomHelper::verifyDomElementArgument($currentNode, "currentNode"); $list = new JsonFormatListNode(DomHelper::isElement($currentNode, 'ol')); $this->getJsonFormatBuilder()->pushNode($list); for ($i = 0; $i < $currentNode->childNodes->length; $i++) { $childNode = $currentNode->childNodes->item($i); if (DomHelper::isElement($childNode, 'li')) { $this->visitListItem($childNode); } } $this->getJsonFormatBuilder()->popNode($list); }
/** * @param DOMNode $currentNode * @return bool */ public function canVisit(DOMNode $currentNode) { /** @var DOMElement $currentNode */ return DomHelper::isElement($currentNode, 'div') && DomHelper::hasClass($currentNode, 'WikiaPhotoGalleryPreview'); }
protected function hasSingleDiv(DOMNode $currentNode) { return DomHelper::isElement($currentNode, 'td') && $currentNode->childNodes->length == 1 && DomHelper::isElement($currentNode->childNodes->item(0), 'div'); }
/** * @param DOMNode $currentNode * @return bool */ public function canVisit(DOMNode $currentNode) { /** @var DOMElement $currentNode */ return DomHelper::isElement($currentNode, 'a') && DomHelper::hasClass($currentNode, 'image') && DomHelper::isElement($currentNode->childNodes->item(0), 'img'); }
/** * @param DOMNode $currentNode * @return bool */ public function canVisit(DOMNode $currentNode) { /** @var DOMElement $currentNode */ return DomHelper::isElement($currentNode, 'p'); }
/** * @param DOMNode $currentNode * @return bool */ public function canVisit(DOMNode $currentNode) { /** @var DOMElement $currentNode */ return DomHelper::isElement($currentNode, 'table') && DomHelper::hasClass($currentNode, 'toc'); }
/** * @param DOMNode $currentNode * @return bool */ public function canVisit(DOMNode $currentNode) { /** @var DOMElement $currentNode */ return DomHelper::isElement($currentNode) && in_array($currentNode->tagName, ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'h7']); }
/** * @param DOMNode $currentNode * @return bool */ public function canVisit(DOMNode $currentNode) { /** @var DOMElement $currentNode */ return DomHelper::isElement($currentNode, 'figure') && DomHelper::isElement($currentNode->childNodes->item(0), 'a') && DomHelper::isElement($currentNode->childNodes->item(0)->childNodes->item(0), 'img') && DomHelper::isElement($currentNode->childNodes->item(2), 'figcaption'); }
/** * @param DOMNode $currentNode * @return bool */ public function canVisit(DOMNode $currentNode) { /** @var DOMElement $currentNode */ return DomHelper::isElement($currentNode, 'dl') && $currentNode->childNodes->length == 2 && DomHelper::isElement($currentNode->childNodes->item(0), 'dd') && DomHelper::isElement($currentNode->childNodes->item(0)->childNodes->item(0), 'span') && DomHelper::isElement($currentNode->childNodes->item(0)->childNodes->item(0)->childNodes->item(1), 'i') && DomHelper::isElement($currentNode->childNodes->item(1), 'dd'); }
/** * @param DOMNode $currentNode * @return bool */ public function canVisit(DOMNode $currentNode) { /** @var DOMElement $currentNode */ return DomHelper::isElement($currentNode, 'a') && DomHelper::hasClass($currentNode, 'video') && DomHelper::hasChildTag($currentNode, 'img'); }
/** * @param DOMNode $currentNode * @return bool */ public function canVisit(DOMNode $currentNode) { /** @var DOMElement $currentNode */ return DomHelper::isElement($currentNode, 'table') && $currentNode->childNodes->length > 0 && DomHelper::isElement($currentNode->childNodes->item(0), 'tr') && $currentNode->childNodes->item(0)->childNodes->length > 0 && DomHelper::isElement($currentNode->childNodes->item(0)->childNodes->item(0), 'td') && $currentNode->childNodes->item(0)->childNodes->item(0)->childNodes->length > 0 && DomHelper::isElement($currentNode->childNodes->item(0)->childNodes->item(0)->childNodes->item(0), 'div') && $currentNode->childNodes->item(0)->childNodes->item(0)->childNodes->item(0)->attributes->getNamedItem("style") && strpos($currentNode->childNodes->item(0)->childNodes->item(0)->childNodes->item(0)->attributes->getNamedItem("style")->nodeValue, "overflow:auto;") !== false && $currentNode->childNodes->item(0)->childNodes->item(0)->childNodes->item(0)->childNodes->length > 0; }