La stragrande maggioranza dei siti web dinamici è costitua da un software che rilascia un output XHTML, sia nella versione Strict che Transitional.
Capita anche spesso, in modo particolare nei blog, di embeddare video da siti esterni, in primis Youtube. In questo blog, per evitare di fare noiosi copia / incolla in visualizzazione sorgente dall’editor visuale che uso, mi sono costruito un tag apposito.
![]()
Questo pezzettino di codice, con degli pseudo tag di apertura e chiusura youtube, contenente il permalink di un video, si traduce nel player embeddato in fase di generazione della pagina.
Tempo fa avevo semplicemente riprodotto il codice che forniva youtube adattandolo per una regola generale. Usando io markup XHTML, questo causava una non validazione della pagina. Per sistemare è bastato rivedere il codice di embedding ed adattarlo al linguaggio di marcatura, senza però perdere le funzionalità garantite dall’embedding.
In codice php si traduce il tutto in una semplice riga 🙂
$result = preg_replace(‘#\[youtube\]http://www.youtube.com/watch\?v=(.*?)\[/youtube\]#i’, ‘<object type="application/x-shockwave-flash" style="width:450px; height:366px;" data="http://www.youtube.com/v/\\1"><param name="movie" value="http://www.youtube.com/v/\\1" /><param name="wmode" value="transparent" /></object>’,$testo)
Dove $testo è la variabile stringa da controllare.
Btw.. This script isnt run in my blog. How to fix it.. Please bring me example.. Thank…
This blog is not wordpress.
This is a self made blog platform 🙂
To apply this code to wordpress, you should script a plugin to make change to the_content() function output.
how could i made to invert the process??
I have a string like <object etc etc…. and i want a string like [youtube] etc etc
Accordi the embed youtube code you should use something like this
preg_replace('#<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/(.*?)"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/(.*?)" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>#i', '[youtube]http://www.youtube.com/watch?v=//1[/youtube]');Be advised, I haven't tested it.