public static function highlightFile() { self::$_dom = new DOMDocument(); self::$_dom->load(self::$_filename); $xpath = new DOMXPath(self::$_dom); $elements = $xpath->query("//fo:block[@codehl]"); foreach ($elements as $block) { $code = self::_highlight($block->nodeValue); $code_block = self::_createBlockCode($code); foreach ($block->childNodes as $node) { $block->removeChild($node); } $block->appendChild($code_block); $block->removeAttribute('codehl'); } self::$_dom->save(self::$_filename); }
public static function highlightFile() { self::$_dom = new DOMDocument(); self::$_dom->load(self::$_filename); $xpath = new DOMXPath(self::$_dom); $elements = $xpath->query("//fo:block[@codehl]"); foreach ($elements as $block) { $block->removeAttribute('codehl'); $code = self::_highlight($block->nodeValue); if (substr($code, 0, 5) !== '<span') { if ($block->childNodes->length > 0) { $block->firstChild->nodeValue = ltrim($block->firstChild->nodeValue); $block->lastChild->nodeValue = rtrim($block->lastChild->nodeValue); } continue; } $code_block = self::_createBlockCode($code); while ($block->childNodes->length > 0) { $block->removeChild($block->childNodes->item(0)); } $block->appendChild($code_block); } self::$_dom->save(self::$_filename); }