$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 1
当你准备用正则来解决一个问题时,你现在就会有两个问题
|
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
luhe 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 似乎兼容单引号甚至无引号的属性值,应当是遗留问题。 这种严以律己宽以待人的『兼容性设计』,实际上反而导致了很多兼容性问题。 |