需要正则表达式帮助(preg_match_all)

时间:2016-03-10 00:04:35

标签: regex preg-match-all

这是我的形象

<img src="" data-original="'.$this->url.'/img/image'.$row['id'].'.jpg" id="song-art'.$row['id'].'"  alt="'.$row['title'].'" class="animated fadeIn load-delay">

在PHP中,我需要获取data-original的内容,所以我尝试了:

preg_match_all('/<img data-original="([\d\D]*)" id="song-art'.$_GET['id'].'".*">/iU', $track[0], $art);

我对正则表达式不是很好,为什么它不起作用?

1 个答案:

答案 0 :(得分:3)

这个正则表达式应该匹配双引号内的所有内容,它不是双引号。

data-original=\"([^\"]*)\"

编辑: 选择ID为XXXX的某位艺术家的原始数据。

data-original=\"([^\"]*)\".*id=\"song-artXXXX\"

所以在php中应该是这样的:

$id_artist= 'XXXX';
preg_match_all('data-original=\"([^\"]*)\".*id=\"song-art'.$id_artist.'\"', ....);

将XXXX替换为您要查找的艺术家的ID,并将其他参数添加到该函数中。