$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/";
↑↑ 用来匹配内容中的图片,但是 [img|IMG] 匹配到的是 i 或 I 。。
$pattern = '/<img[^>]*src="([^"]+)"[^>]*>/i';
↑↑ 如果数据中用了单引号,,那是数据的错误 →_→
![]() | 1 zzzmj 2021-07-10 18:38:52 +08:00 csdn ( doge) |
2 ReferenceE 2021-07-10 18:49:13 +08:00 via Android C$DN 背锅 |
3 Rache1 2021-07-10 19:35:01 +08:00 ![]() 当你准备用正则来解决一个问题时,你现在就会有两个问题 |
![]() | 4 young1lin 2021-07-10 19:37:26 +08:00 盲猜 CSDN 。 屏蔽 CSDN,编程能力提升一大截!!! |
![]() | 5 sagaxu 2021-07-10 20:04:39 +08:00 via Android csdn 和 php 很配哦 |
![]() | 6 xiangyuecn 2021-07-10 20:17:48 +08:00 <img src="aa.png"> <img src = "aa.png"> <img src = "aa.png"> |
![]() | 7 xiangyuecn 2021-07-10 20:19:17 +08:00 <img src="/aa.png"> 目测还有很多意想不到的变体 |
![]() | 8 pikaconan 2021-07-10 20:55:06 +08:00 习惯了... |
9 iNaru 2021-07-10 21:32:40 +08:00 小括号吧 |
![]() | 10 iyaozhen 2021-07-10 21:51:15 +08:00 |
![]() | 11 alsotang 2021-07-10 23:45:09 +08:00 能传出来,说明它起作用啊,这点更奇怪。 |
![]() | 13 geelaw 2021-07-11 04:01:51 +08:00 via iPhone @Rache1 #3 我记得一个笑话是说:当你准备用正则来解决一个问题时,你就会有就会有就会有就会有两个问题。 |
![]() | 14 baoshuo 2021-07-11 11:10:41 +08:00 第一天:一个人写了错误的正则并发布到网上; 第二天:爬虫爬到了这篇文章并发布; 第三天:打开搜索引擎,搜索 xx 正则,前 10 页都是这个错误的正则。 |
![]() | 15 raaaaaar 2021-07-11 11:14:18 +08:00 via Android 然后还有 10 篇改正的 |
![]() | 16 wdssmq OP |
![]() | 17 no1xsyzy 2021-07-11 15:14:58 +08:00 试试这个 <img class="src=" roll=".png" src="https://v2ex.com/static/img/[email protected]" /> (匹配结果是 `<Space>roll=".png` ) <img src="https://v2ex.com/static/img/[email protected]" / > (匹配结果是空) 通常不要用正则处理 XML/HTML 。 |
![]() | 18 no1xsyzy 2021-07-11 15:25:30 +08:00 <img src="image.webp"> long long text describing "somefile.png" <b>IS NOT GOOD</b> 同理其他后缀或者无后缀或者像 TWTR 那样 :orig 而且 .*?[/]? 是冗余的吧。 另外,HTML 似乎兼容单引号甚至无引号的属性值,应当是遗留问题。 这种严以律己宽以待人的『兼容性设计』,实际上反而导致了很多兼容性问题。 |