php正则抓取网页指定内容,php通过正则提取页面指定内容实例

(.*?)/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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值