FluentDOM\Nodes\Builder::getFragment PHP Метод

getFragment() публичный Метод

Convert a given content string into and array of nodes
public getFragment ( string $xml, string $contentType = 'text/xml', boolean $includeTextNodes = TRUE, integer $limit ) : array
$xml string
$contentType string
$includeTextNodes boolean
$limit integer
Результат array
    public function getFragment($xml, $contentType = 'text/xml', $includeTextNodes = TRUE, $limit = -1)
    {
        $xml = $this->getContentAsString($xml);
        $loader = $this->getOwner()->loaders();
        if (!$loader->supports($contentType)) {
            throw new Exceptions\InvalidFragmentLoader(get_class($loader));
        }
        if (!$xml) {
            return array();
        }
        $result = array();
        $fragment = $loader->loadFragment($xml, $contentType, $this->getOwner()->getLoadingOptions($contentType));
        if ($fragment) {
            $fragment = $this->getOwner()->document->importNode($fragment, TRUE);
            for ($i = $fragment->childNodes->length - 1; $i >= 0; $i--) {
                $element = $fragment->childNodes->item($i);
                if ($element instanceof \DOMElement || $includeTextNodes && Constraints::isNode($element)) {
                    array_unshift($result, $element);
                    $element->parentNode->removeChild($element);
                }
            }
        }
        return $this->getLimitedArray($result, $limit);
    }