zoukankan      html  css  js  c++  java
  • php正则提取图片并替换

    1. <?php
    2. // 指定网页
    3. $url = "http://aihuinong.com/goods/";
    4. // 启动curl
    5. $ch = curl_init();
    6. // CURLOPT_URL: 这是你想用PHP取回的URL地址。你也可以在用curl_init()函数初始化时设置这个选项。
    7. curl_setopt ($ch, CURLOPT_URL, $url);
    8. //(后面参数为1时) 如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSE
    9. //(后面参数为0时) 如果成功只返回TRUE,自动输出返回的内容。如果失败返回FALSE
    10. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    11. // CURLOPT_CONNECTTIMEOUT 在发起连接前等待的时间,如果设置为0,则不等待。
    12. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10);
    13. // curl_exec — 执行一个curl会话
    14. $dxycontent = curl_exec($ch);
    15. // 匹配class="yt-goods-nav" - class="pagination"之间的内容
    16. $pattern = '/<div class="yt-goods-nav">(.+?)<div class="pagination" style="float: right">/is';
    17. // 执行正则匹配
    18. preg_match($pattern, $dxycontent, $match);
    19. //var_dump($match[0]);
    20. //$match[0] 即为<div class="yt-goods-nav">和<div class="pagination">之间的所有源码
    21. // 匹配所有的img
    22. preg_match_all('/<img.+src="?(.+.(jpg|gif|bmp|bnp|png))"?.+>/i',
    23. $match[0],$matches);//带引号
    24. $new_arr=array_unique($matches[0]);//去除数组中重复的值
    25. //
    26. foreach($new_arr as $key) {
    27. // strip_tags($key);
    28. // 由于这个网站的路径的域名被隐藏 所以直接替换/为域名/
    29. echo preg_replace('#src="/#is', 'src="http://aihuinong.com/', $key);
    30. echo "</br>";
    31. }
    今天闲来无事,于是玩玩正则。扒一扒自己公司网站上的图片。
    代码里面的注释写的很清楚了。





  • 相关阅读:
    数据库主键生成策略
    弹出窗返回数据实体对象或对象集
    我的家乡话,模糊和清晰的记忆......
    曾经年少
    获取父页面URL的参数对应值及左对齐字符串
    .Net编程规范
    DBdifference
    GridView翻页时保持CheckBox选择状态
    .CS中的javascript
    (转)程序员职业规划
  • 原文地址:https://www.cnblogs.com/g825482785/p/6093105.html
Copyright © 2011-2022 走看看