我想在括号,单引号和双引号之间提取文本。我已对单引号和双引号,但我不能使它成为第三个参数,括号:php - 在括号,单引号和双引号之间提取文本
例如:
<img src="/path/to/the/file.jpg"></div>
<img src='/path/to/the/file2.png'></div>
<div style="background:url(/path/to/the/file555.gif)"></div>
我想提取:
/path/to/the/file.jpg
/path/to/the/file2.png
/path/to/the/file555.gif
这是我使用正则表达式表达:
preg_match_all('/(["\'])(.*(?:\.jpg|\.png|\.gif))\1/m', $subject, $matches)
甚至这一个:
preg_match_all('/(["\'])([^"\']*(?:\.jpg|\.png|\.gif))\1/m', $subject, $matches)
存在的问题,此代码在本演示中,你看到的。圆括号之间的文本从'background:...开始'及其前面的双引号 – Afshin
@ AfshinHaghighat检查编辑 – vks
谢谢。它现在有效。我在我的RegexBuddy中检查它,它给我和关于零长度匹配的错误:你的正则表达式可能找到零长度匹配。那是问题吗?! – Afshin