Home politics Starting from 520 pounds.. CAF announces the prices of tickets for the...

Starting from 520 pounds.. CAF announces the prices of tickets for the Africa Cup of Nations matches in Morocco

7
0



Monday 13/October/2025 – 01:11 PM

















The Confederation of African Football (CAF) has announced ticket prices for matches African Cup of Nations 2025 Which is scheduled to be held in Morocco in December by the end of this year.

CAF announces ticket prices for the Africa Cup of Nations matches in Morocco

The official account of the Confederation of African CAF via X published all ticket prices for all stages of the tournament, starting from kick-off in the Morocco-Comoros match until the final match.

The prices of tickets for the matches were as follows: –

<strong>Ticket prices for the Africa Cup of Nations matches in Morocco</strong>” width=”1200″ height=”675″/><figcaption><strong>Ticket prices for the Africa Cup of Nations matches in Morocco</strong></figcaption></figure>
<p>In another context, the Egyptian national team is preparing to play important matches in the African Cup of Nations in the next international break at the end of December, where the Pharaohs will play the first matches against Zimbabwe, while they will play the second round against South Africa, and the third round against Angola.</p>
<p>While Morocco is in the first group, which includes: Comoros – Mali – Zambia.</p>
</p></div>
<p><script type= replaceOembeds(); function replaceOembeds() { var allEmbeds = document.getElementsByTagName("OEMBED"); while (allEmbeds.length != 0) { replaceOembedWithHtml(allEmbeds[0], extractLinkFromOembed(allEmbeds[0])); allEmbeds = document.getElementsByTagName("OEMBED"); } runYoutubeLazyLoad(); window.onscroll = function () { loadAPI(); window.onscroll = null; } // loadfbApi(); } function replaceOembedWithHtml(element, sourceData) { if (sourceData.source.toLowerCase() === "youtube") { var html="
" + '
' + '
' + '
' + '' + '
' + '
'; replaceElementWithHtml(element, html); } else if (sourceData.source.toLowerCase() === "instagram") { var html="
'; replaceElementWithHtml(element, html); } else if (sourceData.source.toLowerCase() === "twitter") { var html="
'; replaceElementWithHtml(element, html); } else if (sourceData.source.toLowerCase() === "facebook") { var html="
' replaceElementWithHtml(element, html); } else { replaceElementWithHtml(element, ""); } } function extractLinkFromOembed(element) { return getUrlSource(element.getAttribute("url")); } function getUrlSource(url) { var ytRegex = /http(?:s?):\/\/(?:www\.)?youtu(?:be\.com\/watch\?v=|\.be\/)([\w\-\_]*)(&(amp;)?‌​[\w\?‌​=]*)?/; var instaRegex = /(https?:\/\/www\.)?instagram\.com(\/p\/(\w+)\/?)/; var twitterRegex = /twitter\.com\/.*\/status(?:es)?\/([^\/\?]+)/; var fbRegex = /^https?:\/\/www\.facebook\.com.*\/(video(s)?|watch|story|posts)(\.php?|\/).+$/; if (ytRegex.test(url)) { return { source: "Youtube", url: url, id: ytRegex.exec(url)[1] }; } if (instaRegex.test(url)) { return { source: "Instagram", url: url, id: instaRegex.exec(url)[3] }; } if (twitterRegex.test(url)) { return { source: "Twitter", url: url, id: twitterRegex.exec(url)[1] }; } if (fbRegex.test(url)) { return { source: "Facebook", url: url, id: fbRegex.exec(url)[1] }; } return { source: "Unknown", url: url, id: "" }; } function replaceElementWithHtml(element, html) { var str = html; var Obj = element; //any element to be fully replaced if (Obj.outerHTML) { //if outerHTML is supported Obj.outerHTML = str; ///it's simple replacement of whole element with contents of str var } else { //if outerHTML is not supported, there is a weird but crossbrowsered trick var tmpObj = document.createElement("div"); tmpObj.innerHTML = ''; ObjParent = Obj.parentNode; //Okey, element should be parented ObjParent.replaceChild(tmpObj, Obj); //here we placing our temporary data instead of our target, so we can find it then and replace it into whatever we want to replace to ObjParent.innerHTML = ObjParent.innerHTML.replace('
', str); } } function loadfbApi() { var js = document.createElement('script'); js.src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.2"; document.body.appendChild(js); } function runYoutubeLazyLoad() { /// youtube lazyload var youtube = document.querySelectorAll(".youtube"); for (var i = 0; i < youtube.length; i++) { var source = "https://img.youtube.com/vi/" + youtube[i].dataset.embed + "/0.jpg"; var image = new Image(); image.src = "/themes/cairo2/assets/images/no.jpg"; image.classList.add('lazyload'); image.setAttribute("data-src", source); image.setAttribute("alt", "youtube"); image.addEventListener("load", function () { youtube[i].appendChild(image); }(i)); youtube[i].addEventListener("click", function () { var iframe = document.createElement("iframe"); iframe.setAttribute("frameborder", "0"); iframe.setAttribute("allowfullscreen", ""); iframe.setAttribute("src", "https://www.youtube.com/embed/" + this.dataset .embed + "?rel=0&showinfo=0&autoplay=1"); this.innerHTML = ""; this.appendChild(iframe); }); }; }

Fonte

LEAVE A REPLY

Please enter your comment!
Please enter your name here