(.*?)/is ', $html, $bodyArr);
}
$body = $bodyArr[1];
//替换img文件
$body = preg_replace('/(
//替换html文件内的css背景图片
$body = preg_replace('~\b(background(-image)?\s*:(.*?)\(\s*[\'|"]?)(\.\.\/)*(img.*?)?\s*\)~i',"$1$urlRoot$5)",$body);
return $body;
}
3、提取页面Description内容
function getDescription($html){
// Get the 'content' attribute value in a
$matches = array();
// Search for
preg_match('/
if (count($matches) > 4) {
return trim($matches[4]);
}
// Order of attributes could be swapped around:
preg_match('/
if (count($matches) > 2) {
return trim($matches[2]);
}
// No match
return null;
}
4、替换css文件的背景图片地址
/**
* 获取CSS内容
* @param $cssCnt
* @param $urlRoot
* @return mixed
*/
function getCss($cssCnt,$urlRoot =null){
//匹配包含 img文件夹的相对路径图片 (含义绝对路径的不包含在其中)
//匹配替换不一定准确,因为只是将 含义 ../ 的地址转为url 而没有考虑 ../../ 之类的层级关系
$css = preg_replace('~\b(background(-image)?\s*:(.*?)\(\s*[\'|"]?)(\.\.\/)*(img.*?)?\s*\)~i',"$1$urlRoot$5)",$cssCnt);
//添加css前缀
$css = preg_replace('/\b.(.*?)[,|{]/',"pat .$0",$cssCnt);
//TODO 压缩css
return $css;
}