使用preg_match

时间:2015-08-22 21:12:49

标签: php preg-match

我有以下HTML:

<div class="video cover" data-thumb="https://i.vimeocdn.com/video/1234567.webp?mw=700&amp;mh=393" style="background-image: url(https://i.vimeocdn.com/video/525930392.webp?mw=700&amp;mh=393);">

我想检索data-thumb网址值。

我尝试使用以下方法检索值:

$iframe = '<div class="video cover" data-thumb="https://i.vimeocdn.com/video/1234567.webp?mw=700&amp;mh=393" style="background-image: url(https://i.vimeocdn.com/video/525930392.webp?mw=700&amp;mh=393);">';

preg_match('/data-thumb="(.*?)"/', $iframe, $matches);

echo $matches[0];

但是,这不会检索任何匹配。

编辑:感谢您的帮助和解答。看来我在$ iframe的输出中出错,它显示了来自iframe(doh)的内容。所以preg_match无法定位它。

2 个答案:

答案 0 :(得分:0)

试试这个正则表达式:

/data-thumb="[\s\S]*?"/

答案 1 :(得分:0)

preg_match('/data-thumb="([^"]*)"/', $iframe, $matches);

if (isset($matches[1]))
   echo $matches[1]; // echo the value of the data-thumb attribute

这对我有用。事实上,原始代码也可以正常工作。