/** * Finds all <link>-Tags in the passed HTML content, strips them out * and puts them in the internal CSS placeholder store. * You can then retreive them all-in-one with JS::getCode(). * @param string $content - Reference to the HTML content. Note that it * WILL be modified in-place. */ public static function findCSS(&$content) { JS::grabComments($content); //deactivate error handling for not well formed html libxml_use_internal_errors(true); $css = array(); $dom = new domDocument(); $dom->loadHTML($content); libxml_clear_errors(); foreach ($dom->getElementsByTagName('link') as $element) { if (preg_match('/\\.css(\\?.*)?$/', $element->getAttribute('href'))) { $css[] = $element->getAttribute('href'); JS::registerCSS($element->getAttribute('href')); } } JS::restoreComments($content); return $css; }
/** * Finds all <script>-Tags in the passed HTML content, strips them out * and puts them in the internal JAVASCRIPT placeholder store. * You can then retreive them all-in-one with JS::getCode(). * @param string $content - Reference to the HTML content. Note that it * WILL be modified in-place. */ public static function findJavascripts(&$content) { JS::grabComments($content); $content = preg_replace_callback('/<script .*?src=(?:"|\')([^"\']*)(?:"|\').*?\\/?>(?:<\\/script>)?/i', array('JS', 'registerFromRegex'), $content); JS::restoreComments($content); }