Хммм, я лучше уточню, прежде чем появятся новые анти-регулярные выражения. В вашем случае это действительно применимо для использования регулярных выражений. Однако я хотел бы отметить, что вы должны тщательно оценить плюсы и минусы .
В большинстве случаев проще использовать phpQuery или QueryPath для таких задач:
qp($html)->find("img")->attr("src");
Но также возможно регулярное выражение, если вы не пропустите мелкие детали:
preg_match('#<img[^>]+src="([^">]*)".+?<something\s[^>]*image="([^">]*)"#ims', $html, $m);
Если извлечение зависит от наличия обоих тегов, то здесь может быть лучше.