Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/06/2012, 05:30
Avatar de Adrii952
Adrii952
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 116
Antigüedad: 12 años, 4 meses
Puntos: 7
Reemplazar enlace de youtube a iframe

Hola, muy buenas a todos.
Estoy perfeccionando el sistema de comentarios de mi red. Lo que se escribe se guarda tal cual en la base de datos, y luego se muestra con un htmlspecialchars() para evitar que el navegador interprete código malicioso o erróneo.
Ahora estoy haciendo una lista de excepciones, una función exactamente que es así:
Código PHP:
function HTMLpermitido($Cadena) {
    
$Cadena str_ireplace(htmlspecialchars("<b>"),"<b>"$Cadena);
    
$Cadena str_ireplace(htmlspecialchars("</b>"),"</b>"$Cadena);
    
$Cadena str_ireplace(htmlspecialchars("<br>"),"<br>"$Cadena);
    
$Cadena str_ireplace("\x0D\x0A","<br>"$Cadena);
    return 
$Cadena;

Entonces la cosa sería convertir un enlace de youtube http://www.youtube.com/watch?v=XXXXXXXXXXX
a un iframe
<iframe width="480" height="260" src="http://www.youtube.com/embed/XXXXXXXXXX" frameborder="0" allowfullscreen></iframe>
para que se vea el vídeo insertado.

Creo que la solución más práctica para esto es usar la función preg_replace, función que no logro entender por mucho que leo explicaciones y observo ejemplos, así que si alguien puede resolverme este enigma, aunque sea con preg_replace, le estaría muy agradecido porque llevo una buena hora dándole vueltas al problema.