FluentDOM\Loader\JSONx::loadFragment PHP Method

loadFragment() public method

See also: Loadable::loadFragment
public loadFragment ( string $source, string $contentType, array | Traversable | Options $options = [] ) : DocumentFragment | null
$source string
$contentType string
$options array | Traversable | Options
return FluentDOM\DocumentFragment | null
    public function loadFragment($source, $contentType, $options = [])
    {
        if ($this->supports($contentType) && !empty($source)) {
            $document = new Document();
            $document->preserveWhiteSpace = FALSE;
            $document->registerNamespace('jx', self::XMLNS_JSONX);
            $sourceFragment = $document->createDocumentFragment();
            $sourceFragment->appendXml($source);
            $target = new Document();
            $target->registerNamespace('json', self::XMLNS_JSONDOM);
            $targetFragment = $target->createDocumentFragment();
            foreach ($sourceFragment->childNodes as $node) {
                $this->transferNode($node, $targetFragment);
            }
            return $targetFragment;
        }
        return NULL;
    }