Chinaunix

标题: [正则] 请教一个php抓取html代码中特定字符问题 [打印本页]

作者: frankzh    时间: 2005-08-21 09:54
标题: [正则] 请教一个php抓取html代码中特定字符问题
小弟想用php 程序来 抓取一个静态html网页中的jpg或者gif或者png图片文件名字。比如 网页代码 中有
  1. <img height="150" src="/userfiles/Image/hello.gif" width="150" alt="" />;
复制代码
如何用php抓取到图片名字hello.gif?
谢谢 指教!
作者: HonestQiao    时间: 2005-08-21 11:17
标题: [正则] 请教一个php抓取html代码中特定字符问题


  1. /// 匹配格式:
  2. /// <img 任何字符 src="文件名成" 任何字符>;
  3. /// <img 任何字符 src='文件名成' 任何字符>;
  4. if (preg_match('/<img .*?src=["\'](.+?)[\'"].*?>;/', $strSource, $matchRegs)) {
  5.         $strDist = $matchRegs[1];
  6. } else {
  7.         $strDist = "";
  8. }

复制代码

作者: frankzh    时间: 2005-08-21 11:57
标题: [正则] 请教一个php抓取html代码中特定字符问题
谢谢 斑竹~!  我原先用一个免费软件 的php在线编辑器  做个简单的新闻管理系统,小弟还无法看懂全部的在线编辑器代码 。现在有个问题就是:

1.在线编辑器可以填加jpg   gif  png jpeg等格式图片和swf动画了,可以知道他填加的图片放在服务目录里显示是以<img src="">;这样调用.

2.我把在线编辑器填加内容放在数据库一个字段里 可以调出来修改,删除也可以,不过如果有图片或者是flash动画就无法将图片和flash删除掉。

3.所以想通过正则式 怎么遍历这个在线编辑器添加内容结果的html文件 将里面 flash文件 如
  1. src="/userfiles/Flash/ok.swf"
复制代码
  1. <img width="150" height="150" alt="" src="/userfiles/Image/hello.gif" />;
复制代码
等相似的其他图片文件名循环提取出来?

感谢指教!
作者: HonestQiao    时间: 2005-08-21 12:40
标题: [正则] 请教一个php抓取html代码中特定字符问题

  1. <?php
  2. $strSource = <<<HTML
  3. <img width="150" height="150" alt="" src="/1userfiles/Image/hello.gif" />;
  4. <img width="150" height="150" alt="" src="/2userfiles/Image/hello.gif" />;
  5. <img width="150" height="150" alt="" src="/3userfiles/Image/hello.gif" />;
  6. <img width="150" height="150" alt="" src="/4userfiles/Image/hello.gif" />;
  7. HTML;
  8. preg_match_all('/<img .*?src=["\'](.+?)[\'"].*?>;/si', $strSource, $strDist, PREG_PATTERN_ORDER);
  9. print_r($strDist);
  10. ?>;
复制代码


结果:

  1. ----------php Complier ----------
  2. Array
  3. (
  4.     [0] =>; Array
  5.         (
  6.             [0] =>; <img width="150" height="150" alt="" src="/1userfiles/Image/hello.gif" />;
  7.             [1] =>; <img width="150" height="150" alt="" src="/2userfiles/Image/hello.gif" />;
  8.             [2] =>; <img width="150" height="150" alt="" src="/3userfiles/Image/hello.gif" />;
  9.             [3] =>; <img width="150" height="150" alt="" src="/4userfiles/Image/hello.gif" />;
  10.         )

  11.     [1] =>; Array
  12.         (
  13.             [0] =>; /1userfiles/Image/hello.gif
  14.             [1] =>; /2userfiles/Image/hello.gif
  15.             [2] =>; /3userfiles/Image/hello.gif
  16.             [3] =>; /4userfiles/Image/hello.gif
  17.         )

  18. )
  19. 输出完成 (耗时 1 秒) - 正常终止
复制代码

作者: frankzh    时间: 2005-08-21 16:24
标题: [正则] 请教一个php抓取html代码中特定字符问题
多谢斑竹 指点!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2