本文整理汇总了PHP中Minify_CSS_UriRewriter::_prependAbsolutePathCallback方法的典型用法代码示例。如果您正苦于以下问题:PHP Minify_CSS_UriRewriter::_prependAbsolutePathCallback方法的具体用法?PHP Minify_CSS_UriRewriter::_prependAbsolutePathCallback怎么用?PHP Minify_CSS_UriRewriter::_prependAbsolutePathCallback使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Minify_CSS_UriRewriter
的用法示例。
在下文中一共展示了Minify_CSS_UriRewriter::_prependAbsolutePathCallback方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _rewrite
/**
* Rewrite file relative URIs as root relative in CSS files
*
* @param string $css
*
* @param string $currentDir The directory of the current CSS file.
*
* @param string $prependAbsolutePath
*
* @param string $prependAbsolutePathCallback
*
* @param string $docRoot The document root of the web site in which
* the CSS file resides (default = $_SERVER['DOCUMENT_ROOT']).
*
* @param array $symlinks (default = array()) If the CSS file is stored in
* a symlink-ed directory, provide an array of link paths to
* target paths, where the link paths are within the document root. Because
* paths need to be normalized for this to work, use "//" to substitute
* the doc root in the link paths (the array keys). E.g.:
* <code>
* array('//symlink' => '/real/target/path') // unix
* array('//static' => 'D:\\staticStorage') // Windows
* </code>
*
* @param int $browserCacheId
*
* @param array $browserCacheExtensions
*
* @return string
*/
private static function _rewrite($css, $currentDir, $prependAbsolutePath = null, $prependAbsolutePathCallback = null, $docRoot = null, $symlinks = array(), $browserCacheId = 0, $browserCacheExtensions = array())
{
self::$_docRoot = self::_realpath($docRoot ? $docRoot : $_SERVER['DOCUMENT_ROOT']);
self::$_currentDir = self::_realpath($currentDir);
self::$_prependAbsolutePath = $prependAbsolutePath;
self::$_prependAbsolutePathCallback = $prependAbsolutePathCallback;
self::$_symlinks = array();
self::$_browserCacheId = $browserCacheId;
self::$_browserCacheExtensions = $browserCacheExtensions;
// normalize symlinks
foreach ($symlinks as $link => $target) {
$link = $link === '//' ? self::$_docRoot : str_replace('//', self::$_docRoot . '/', $link);
$link = strtr($link, '/', DIRECTORY_SEPARATOR);
self::$_symlinks[$link] = self::_realpath($target);
}
self::$debugText .= "docRoot : " . self::$_docRoot . "\n" . "currentDir : " . self::$_currentDir . "\n";
if (self::$_symlinks) {
self::$debugText .= "symlinks : " . implode(', ', self::$_symlinks) . "\n";
}
self::$debugText .= "\n";
$css = self::_trimUrls($css);
// rewrite
$css = preg_replace_callback('/@import\\s+([\'"])(.*?)[\'"]/', array(self::$className, '_processUriCB'), $css);
$css = preg_replace_callback('/url\\(\\s*([^\\)\\s]+)\\s*\\)/', array(self::$className, '_processUriCB'), $css);
return $css;
}