]*>.*?#is', '', $html); $html = preg_replace('/\\son\\w+="[^"]*"/i', '', $html); $html = preg_replace("/\\son\\w+='[^']*'/i", '', $html); return $html ?? ''; } public function compose( bool $wrapLayout, string $subject, string $body, string $recipientName, string $preheader = '', string $ctaText = '', string $ctaUrl = '', bool $personalize = true ): string { $content = $personalize ? str_replace('{{name}}', $recipientName, $body) : $body; if (!$wrapLayout) { return $content; } if (!View::exists('emails.broadcast_wrapper')) { return $content; } return view('emails.broadcast_wrapper', [ 'subject' => $subject, 'content' => $content, 'preheader' => $preheader, 'cta_text' => $ctaText, 'cta_url' => $ctaUrl, ])->render(); } }