// 1. Убираем текстовые проявления переносов строк
$artworkBase64 = str_replace(['\r', '\n', '\t'], '', $artworkBase64);
// [ВАЖНО] 1.1. Возвращаем плюсы, которые HTTP-запрос превратил в пробелы
$artworkBase64 = str_replace(' ', '+', $artworkBase64);
// 2. Вытаскиваем тип (png/jpeg) до жесткой очистки
$type = 'png';
if (preg_match('/^data:image\/(\w+);base64,/', $artworkBase64, $matches)) {
$type = strtolower($matches[1]);
$artworkBase64 = substr($artworkBase64, strpos($artworkBase64, ',') + 1);
}
// 3. ЖЕСТКАЯ ФИЛЬТРАЦИЯ
$artworkBase64 = preg_replace('/[^A-Za-z0-9\+\/=]/', '', $artworkBase64);