/** * Embed the stylesheets' content * * @param array $matches The matches of the regular expression * * @return string The <style> tag */ private static function replaceStylesheet($matches) { $src = $matches[1]; $orig_src = $src; $src = preg_replace('/(\\?.*)$/', '', $src); $stylesheet = self::getFileContents($src); self::$_stylesheet_path = dirname($src); // @import $re = "/\\@import\\s+(?:url\\()?[\"']?([^\"\\'\\)]+)[\"']?\\)?;/i"; $stylesheet = preg_replace_callback($re, array('self', 'replaceStylesheetImport'), $stylesheet); // url(foo) $re = "/url\\([\"']?([^\"\\'\\)]+)[\"']?\\)?/i"; $stylesheet = preg_replace_callback($re, array('self', 'replaceStylesheetUrl'), $stylesheet); if (self::$_path) { return '<link rel="stylesheet" href="' . self::getEmbedURL($orig_src, $stylesheet, "css") . '" >'; } else { return '<style type="text/css">' . $stylesheet . '</style>'; } }