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

Need Regex Help (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);

我不太擅长正则表达式,为什么它不起作用?

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

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

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

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

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

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

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