以下のコードを修正、表示したいと思っているのですが私には難解すぎて困っています。

現在PHPで作成したRSSを配信しているのですが、その中で、もともとあるコードを加工したいと思っています。

(例)
▼現

<img class="aa bb cc etc" src="https://hogehoeg.com/○○○.jpg" alt="○○○" width="○○○" height="○○○" />出典:https://△△△.com


▼改

<figure><img src="https://hogehoeg.com/○○○.jpg" alt="○○○" /><figcaption>出典:https://△△△.com</figcaption></figure>

上記現から改のように、imgタグのsrcとaltのみを残したまま<figure>内に入れ込み、かつ「出典」部分のテキストのみを<figcaption>内に入れ込むという正規表現、置き換え方法をご教示いただければ幸いです。

なお、出典直後の「:」は全角(:)と半角(:)の場合があります。

img直後は必ず「出典」文字列が付与されていますが改行タグやスペースが入っていることもあります。

preg_replaceをあれこれ試してみたものの見当違いな結果を連発し、困っています。