@@ -129,6 +129,12 @@ private static function extractVimeoId(string $input): ?string
129129 */
130130 private static function renderYouTubePlaceholder (string $ serviceKey , string $ videoId , array $ options , string $ consentId , array $ service ): string
131131 {
132+ // Wenn bereits ein kompletter iframe übergeben wurde (z.B. von scanAndReplaceConsentElements),
133+ // diesen direkt als generischen Placeholder verwenden
134+ if (str_starts_with (trim ($ videoId ), '<iframe ' )) {
135+ return self ::renderGenericPlaceholder ($ serviceKey , $ videoId , $ options , $ consentId , $ service );
136+ }
137+
132138 // Video ID extrahieren falls komplette URL übergeben wurde
133139 $ extractedId = self ::extractYouTubeId ($ videoId );
134140 if (null !== $ extractedId ) {
@@ -180,6 +186,12 @@ private static function renderYouTubePlaceholder(string $serviceKey, string $vid
180186 */
181187 private static function renderVimeoPlaceholder (string $ serviceKey , string $ videoId , array $ options , string $ consentId , array $ service ): string
182188 {
189+ // Wenn bereits ein kompletter iframe übergeben wurde (z.B. von scanAndReplaceConsentElements),
190+ // diesen direkt als generischen Placeholder verwenden
191+ if (str_starts_with (trim ($ videoId ), '<iframe ' )) {
192+ return self ::renderGenericPlaceholder ($ serviceKey , $ videoId , $ options , $ consentId , $ service );
193+ }
194+
183195 // Video ID extrahieren
184196 $ extractedId = self ::extractVimeoId ($ videoId );
185197 if (null !== $ extractedId ) {
@@ -234,6 +246,12 @@ private static function renderVimeoPlaceholder(string $serviceKey, string $video
234246 */
235247 private static function renderGoogleMapsPlaceholder (string $ serviceKey , string $ embedUrl , array $ options , string $ consentId , array $ service ): string
236248 {
249+ // Wenn bereits ein kompletter iframe übergeben wurde (z.B. von scanAndReplaceConsentElements),
250+ // diesen direkt als generischen Placeholder verwenden
251+ if (str_starts_with (trim ($ embedUrl ), '<iframe ' )) {
252+ return self ::renderGenericPlaceholder ($ serviceKey , $ embedUrl , $ options , $ consentId , $ service );
253+ }
254+
237255 $ iframe = '<iframe src=" ' . rex_escape ($ embedUrl ) . '"
238256 width=" ' . ($ options ['width ' ] ?? '100% ' ) . '" height=" ' . ($ options ['height ' ] ?? '450 ' ) . '"
239257 style="border:0;" allowfullscreen="" loading="lazy"></iframe> ' ;
0 commit comments