这个错误的正则最早是哪儿流传出来的呢?

2021-07-10 18:20:10 +08:00
 wdssmq

$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/";

↑↑ 用来匹配内容中的图片,但是 [img|IMG] 匹配到的是 i 或 I 。。

$pattern = '/<img[^>]*src="([^"]+)"[^>]*>/i';

↑↑ 如果数据中用了单引号,,那是数据的错误 →_→

5524 次点击
所在节点    PHP
19 条回复
zzzmj
2021-07-10 18:38:52 +08:00
csdn ( doge)
ReferenceE
2021-07-10 18:49:13 +08:00
C$DN 背锅
Rache1
2021-07-10 19:35:01 +08:00
当你准备用正则来解决一个问题时,你现在就会有两个问题
young1lin
2021-07-10 19:37:26 +08:00
盲猜 CSDN 。

屏蔽 CSDN,编程能力提升一大截!!!
sagaxu
2021-07-10 20:04:39 +08:00
csdn 和 php 很配哦
xiangyuecn
2021-07-10 20:17:48 +08:00
<img src="aa.png">
<img src = "aa.png">
<img
src = "aa.png">
xiangyuecn
2021-07-10 20:19:17 +08:00
<img src="&#47;aa.png">

目测还有很多意想不到的变体
luhe
2021-07-10 20:55:06 +08:00
习惯了...
iNaru
2021-07-10 21:32:40 +08:00
小括号吧
iyaozhen
2021-07-10 21:51:15 +08:00
alsotang
2021-07-10 23:45:09 +08:00
能传出来,说明它起作用啊,这点更奇怪。
wzzzx
2021-07-11 01:35:44 +08:00
@alsotang #11 不不不,很多都是无脑复制黏贴,还有各自爬虫采集
geelaw
2021-07-11 04:01:51 +08:00
@Rache1 #3 我记得一个笑话是说:当你准备用正则来解决一个问题时,你就会有就会有就会有就会有两个问题。
baoshuo
2021-07-11 11:10:41 +08:00
第一天:一个人写了错误的正则并发布到网上;
第二天:爬虫爬到了这篇文章并发布;
第三天:打开搜索引擎,搜索 xx 正则,前 10 页都是这个错误的正则。
raaaaaar
2021-07-11 11:14:18 +08:00
然后还有 10 篇改正的
wdssmq
2021-07-11 14:03:57 +08:00
@ReferenceE #2
@zzzmj #1

然而实际看了几个 csdn 的内容。。正则部分不知道为什么被吃掉了。。
no1xsyzy
2021-07-11 15:14:58 +08:00
试试这个
<img class="src=" roll=".png" src="https://v2ex.com/static/img/v2ex@2x.png" />
(匹配结果是 `<Space>roll=".png` )
<img src="https://v2ex.com/static/img/v2ex@2x.png" / >
(匹配结果是空)

通常不要用正则处理 XML/HTML 。
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 似乎兼容单引号甚至无引号的属性值,应当是遗留问题。
这种严以律己宽以待人的『兼容性设计』,实际上反而导致了很多兼容性问题。
TheF00L
2021-07-12 16:40:07 +08:00
@baoshuo 真相了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/788742

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX