<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Musical El Fantasma de la &#xD3;pera</provider_name><provider_url>https://www.musicalelfantasmadelaopera.com/en/</provider_url><author_name>alejandro</author_name><author_url>https://www.musicalelfantasmadelaopera.com/en/author/alejandro/</author_url><title>M&#xFA;sical El Fantasma de la &#xD3;pera - Musical El Fantasma de la &#xD3;pera</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="VE8YMwDPQZ"&gt;&lt;a href="https://www.musicalelfantasmadelaopera.com/en/"&gt;M&#xFA;sical El Fantasma de la &#xD3;pera&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://www.musicalelfantasmadelaopera.com/en/embed/#?secret=VE8YMwDPQZ" width="600" height="338" title="&#x201C;M&#xFA;sical El Fantasma de la &#xD3;pera&#x201D; &#x2014; Musical El Fantasma de la &#xD3;pera" data-secret="VE8YMwDPQZ" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/**
 * WordPress inline HTML embed
 *
 * @since 4.4.0
 * @output wp-includes/js/wp-embed.js
 *
 * Single line comments should not be used since they will break
 * the script when inlined in get_post_embed_html(), specifically
 * when the comments are not stripped out due to SCRIPT_DEBUG
 * being turned on.
 */
(function ( window, document ) {
	'use strict';

	/* Abort for ancient browsers. */
	if ( ! document.querySelector || ! window.addEventListener || typeof URL === 'undefined' ) {
		return;
	}

	/** @namespace wp */
	window.wp = window.wp || {};

	/* Abort if script was already executed. */
	if ( !! window.wp.receiveEmbedMessage ) {
		return;
	}

	/**
	 * Receive embed message.
	 *
	 * @param {MessageEvent} e
	 */
	window.wp.receiveEmbedMessage = function( e ) {
		var data = e.data;

		/* Verify shape of message. */
		if (
			! ( data || data.secret || data.message || data.value ) ||
			/[^a-zA-Z0-9]/.test( data.secret )
		) {
			return;
		}

		var iframes = document.querySelectorAll( 'iframe[data-secret="' + data.secret + '"]' ),
			blockquotes = document.querySelectorAll( 'blockquote[data-secret="' + data.secret + '"]' ),
			allowedProtocols = new RegExp( '^https?:$', 'i' ),
			i, source, height, sourceURL, targetURL;

		for ( i = 0; i &lt; blockquotes.length; i++ ) {
			blockquotes[ i ].style.display = 'none';
		}

		for ( i = 0; i &lt; iframes.length; i++ ) {
			source = iframes[ i ];

			if ( e.source !== source.contentWindow ) {
				continue;
			}

			source.removeAttribute( 'style' );

			if ( 'height' === data.message ) {
				/* Resize the iframe on request. */
				height = parseInt( data.value, 10 );
				if ( height &gt; 1000 ) {
					height = 1000;
				} else if ( ~~height &lt; 200 ) {
					height = 200;
				}

				source.height = height;
			} else if ( 'link' === data.message ) {
				/* Link to a specific URL on request. */
				sourceURL = new URL( source.getAttribute( 'src' ) );
				targetURL = new URL( data.value );

				if (
					allowedProtocols.test( targetURL.protocol ) &amp;&amp;
					targetURL.host === sourceURL.host &amp;&amp;
					document.activeElement === source
				) {
					window.top.location.href = data.value;
				}
			}
		}
	};

	function onLoad() {
		var iframes = document.querySelectorAll( 'iframe.wp-embedded-content' ),
			i, source, secret;

		for ( i = 0; i &lt; iframes.length; i++ ) {
			/** @var {IframeElement} */
			source = iframes[ i ];

			secret = source.getAttribute( 'data-secret' );
			if ( ! secret ) {
				/* Add secret to iframe */
				secret = Math.random().toString( 36 ).substring( 2, 12 );
				source.src += '#?secret=' + secret;
				source.setAttribute( 'data-secret', secret );
			}

			/*
			 * Let post embed window know that the parent is ready for receiving the height message, in case the iframe
			 * loaded before wp-embed.js was loaded. When the ready message is received by the post embed window, the
			 * window will then (re-)send the height message right away.
			 */
			source.contentWindow.postMessage( {
				message: 'ready',
				secret: secret
			}, '*' );
		}
	}

	window.addEventListener( 'message', window.wp.receiveEmbedMessage, false );
	document.addEventListener( 'DOMContentLoaded', onLoad, false );
})( window, document );
//# sourceURL=https://www.musicalelfantasmadelaopera.com/wp-includes/js/wp-embed.js
&lt;/script&gt;
</html><description>For Father&#x2019;s Day, give a memory that will last a lifetime &#x1F3AD; #barra-pegajosa-entradas { position: sticky; top: 80px; width: 100%; z-index: 10; } https://www.musicalelfantasmadelaopera.com/wp-content/uploads/2026/04/EFDLO_WEB_1080x1080.mp4https://www.musicalelfantasmadelaopera.com/wp-content/uploads/2026/04/EFDLO_WEB_1440x460.mp4 THE MOST SUCCESSFUL MUSICAL IN HISTORY Inspired by Gaston Leroux&#x2019;s 1910 novel, Le Fant&#xF4;me de L&#x2019;Op&#xE9;ra, Andrew Lloyd Webber&#x2019;s The Phantom of the Opera tells the story of a mysterious masked figure lurking beneath the Paris Opera House. He falls madly in love with a young soprano, Christine Daa&#xE9;, and dedicates himself to cultivating her extraordinary talent, employing every devious method at his disposal. THE GHOST IS GOING ON TOUR! After its huge success in Madrid and after captivating more than 160 million spectators around the world, the musical The Phantom of the Opera is heading out on tour in Spain. During 2025-2026, it will tour the country, bringing its unforgettable show to thousands of people. The most successful musical in history is now coming to your city&#x2026; and are you going to miss it? COUNTRIES ESPA&#xD1;A TOUR TICKETS M&#xC9;XICO CDMX TICKETS CITIES FOR SALE ZARAGOZA 7-18 OCT 2026 BUY SANTANDER 1-4 OCT 2026 BUY ALICANTE 19 NOV-6 DIC 2026 BUY TENERIFE 26 DEC 2026-3 JAN 2027 BUY CITIES FOR SALE M&#xC1;LAGA 3 JUL-9 AGO 2026 BUY ZARAGOZA 7-18 OCT 2026 BUY SANTANDER 1-4 OCT 2026 BUY ALICANTE 19 NOV-6 DIC 2026 BUY TENERIFE 29 DIC 2026-3 ENE 2027 BUY UPCOMING CITIES GRAN CANARIA 7-17 ENE 2027 SIGN UP GRAN CANARIA 7-24 ENE 2027 SIGN UP BE THE FIRST TO KNOW Email*: Name* Last name* Elige tu ciudad:* Gran Canaria I have read and accepted the legal notice and privacy policy. SIGN UP &#xD7; document.addEventListener(&#x2018;DOMContentLoaded&#x2019;, function() { // &#x2014; 1. L&#xD3;GICA DEFINITIVA (BOT&#xD3;N Y POPUP PARA TODAS LAS TARJETAS) &#x2014; document.querySelectorAll(&#x2018;.wpr-flip-box&#x2019;).forEach(flipBox =&gt; { const descContainer = flipBox.querySelector(&#x2018;.wpr-flip-box-back .wpr-flip-box-description&#x2019;); if (!descContainer) return; // Evitamos que el script se ejecute dos veces en la misma tarjeta if (descContainer.classList.contains(&#x2018;js-procesado&#x2019;)) return; descContainer.classList.add(&#x2018;js-procesado&#x2019;); // Eliminamos el bot&#xF3;n &#x201C;Ver m&#xE1;s&#x201D; viejo si alguien lo dej&#xF3; en el editor visual const botonViejo = descContainer.querySelector(&#x2018;.ver-mas-enlace&#x2019;); if (botonViejo) botonViejo.remove(); // Guardamos todo el contenido (texto plano o con divs, no importa) const textoParaPopup = descContainer.innerHTML; // Inyectamos a TODAS las tarjetas el contenedor recortado a 8 l&#xED;neas y su bot&#xF3;n descContainer.innerHTML = ` ${textoParaPopup} Ver m&#xE1;s `; // Activamos el popup para el bot&#xF3;n que acabamos de crear const enlaceVerMas = descContainer.querySelector(&#x2018;.ver-mas-enlace&#x2019;); if (enlaceVerMas) { enlaceVerMas.addEventListener(&#x2018;click&#x2019;, function(e) { e.preventDefault(); let imagenUrl = &#x201D;, titulo = &#x201D;, descripcion = &#x201D;; const imgTag = flipBox.querySelector(&#x2018;.wpr-flip-box-front .wpr-flip-box-image img&#x2019;); const tituloTag = flipBox.querySelector(&#x2018;.wpr-flip-box-front .wpr-flip-box-title&#x2019;); const descFrontalTag = flipBox.querySelector(&#x2018;.wpr-flip-box-front .wpr-flip-box-description&#x2019;); if (imgTag) imagenUrl = imgTag.src; if (tituloTag) titulo = tituloTag.innerText; if (descFrontalTag) descripcion = descFrontalTag.innerText; abrirPopup(imagenUrl, titulo, descripcion, textoParaPopup); }); } }); // &#x2014; 2. L&#xD3;GICA DEL POPUP &#x2014; const popupOverlay = document.getElementById(&#x2018;popup-overlay&#x2019;); const popupCerrar = document.getElementById(&#x2018;popup-cerrar&#x2019;); function abrirPopup(imagenUrl, titulo, descripcion, texto) { if (!popupOverlay) return; const popupImgTag = document.getElementById(&#x2018;popup-img-tag&#x2019;); const popupTitulo = document.getElementById(&#x2018;popup-titulo&#x2019;); const popupDescripcion = document.getElementById(&#x2018;popup-descripcion&#x2019;); const popupTextoCompleto = document.getElementById(&#x2018;popup-texto-completo&#x2019;); const popupTextoScroll = document.getElementById(&#x2018;popup-texto-scroll&#x2019;); if (popupImgTag) popupImgTag.src = imagenUrl; if (popupTitulo) popupTitulo.innerText = titulo; if (popupDescripcion) popupDescripcion.innerText = descripcion; if (popupTextoCompleto) popupTextoCompleto.innerHTML = texto; popupOverlay.style.display = &#x2018;flex&#x2019;; if (popupTextoScroll) popupTextoScroll.scrollTop = 0; } function cerrarPopup() { if (popupOverlay) popupOverlay.style.display = &#x2018;none&#x2019;; } if (popupCerrar) popupCerrar.addEventListener(&#x2018;click&#x2019;, cerrarPopup); if (popupOverlay) { popupOverlay.addEventListener(&#x2018;click&#x2019;, (event) =&gt; { if (event.target === popupOverlay) cerrarPopup(); }); } // &#x2014; 3. L&#xD3;GICA DE ROW TOGGLERS &#x2014; function setupRowToggler(buttonId, rowClass) { const button = document.getElementById(buttonId); const hiddenRows = document.querySelectorAll(rowClass); if (button &amp;&amp; hiddenRows.length &gt; 0) { button.addEventListener(&#x2018;click&#x2019;, () =&gt; { const isHidden = hiddenRows[0].style.maxHeight === &#x2018;0px&#x2019; || hiddenRows[0].style.maxHeight === &#x201D;; hiddenRows.forEach(row =&gt; { row.style.maxHeight = isHidden ? `${row.scrollHeight}px` : &#x2018;0px&#x2019;; }); const buttonTextSpan = button.querySelector(&#x2018;.elementor-button-text&#x2019;); if (buttonTextSpan) { buttonTextSpan.textContent = isHidden ? &#x2018;VER MENOS&#x2019; : &#x2018;VER M&#xC1;S&#x2019;; } }); } } setupRowToggler(&#x2018;button-see-more&#x2019;, &#x2018;.row-hidden&#x2019;); setupRowToggler(&#x2018;button-see-more-2&#x2019;, &#x2018;.row-hidden-2&#x2019;); }); Cast Creative team The cast is subject to change without prior notice. DANIEL DIGES FANTASMA DANIEL DIGES He began his professional career at a very young age. He trained at various drama schools and theatre groups until, in 1999, his big break came with Antena 3, where he starred in the TV series Nada es para Siempre, playing the lead character &#x201C;Gato&#x201D;. He soon moved into musical theatre through the major Spanish production Hoy no me puedo levantar. Daniel has since starred in some of the most successful musicals in the country, including We Will Rock You, High School Musical, Mamma Mia!, and Beauty and the Beast. In 2008, he received the &#x201C;Gran V&#xED;a Award&#x201D; for Breakthrough Actor. He has taken part in numerous musical and television projects, from his early work as a host on Megatrix and Max Clan, and appearances in series such as Ana y los 7, Hospital Central, and Aqu&#xED; no hay quien viva, to his more recent participation in Tu cara me suena (including its Mini version). He represented Spain at the Eurovision Song Contest 2010 with the song &#x201C;Algo peque&#xF1;ito.&#x201D; He has released four albums. With his latest album, Calle Broadway, he toured some of the most important theatres in Spain over a two-year period (2014&#x2013;2015). In Les Mis&#xE9;rables (2010&#x2013;2012), he played Enjolras in Madrid and Barcelona, and in 2014&#x2013;2015 he portrayed Jean Valjean on the Spanish tour. In 2017, he was invited to play Jean Valjean in Brazil, and following the show&#x2019;s success there, he was hired for the Mexican production of Les Mis&#xE9;rables in 2018&#x2013;2019, once again performing the role of Jean Valjean. En Mexico interpreta en la serie para Amazon &#x201C;Hern&#xE1;n&#x201D; el personaje de &#x201C;Juan Escudero&#x201D;. A su vuelta a Espa&#xF1;a interpreta a Rob. J Cole, protagonista en musical &#x201C;El M&#xE9;dico&#x201D;. En sus &#xFA;ltimos trabajos a interpretado a Sherlock Homes en el musical de &#x201C;Quien mat&#xF3; a Sherlock Homes&#x201D; donde consigui&#xF3; un premio broadway world como mejor actor protagonista. Actor protagonista en Kinki Boots con en el personaje de Charlie. Actor protagonista en el musical de tick tick boom como Jonathan Larson. Y ha presentado &#x201C;Enamorados de Madrid&#x201D; para Telemadrid. Ha protagonizado Charlie y la f&#xE1;brica de chocolate como Willy wonka. Y su &#xFA;ltimo trabajo ha sido la se&#xF1;orita de Trev&#xE9;lez</description><thumbnail_url>https://www.musicalelfantasmadelaopera.com/wp-content/uploads/2025/10/musical3_61def13493.webp</thumbnail_url><thumbnail_width>375</thumbnail_width><thumbnail_height>370</thumbnail_height></oembed>
