Código PHP:
Ver original
<?php $str_return = preg_replace("/((http:\/\/|https:\/\/)[^\s]+)/i", '<a target="_blank" rel="nofollow" href="$1">$0</a>', $str_return); ?>
Lo que me han pedido es que los enlaces que sean de youtube se muestren como vídeo embebido. Después de buscar un rato he encontrado esta expresión regular:
Código PHP:
Ver original
<?php $pattern = '#https?://(?:www\.)?youtube\.com/watch\?v=([0-9a-z-A-Z-]+)#i'; $replacement = '<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/$1?rel=0" frameborder="0" allowfullscreen></iframe>'; ?>
Pero tengo un problema bastante obvio, cuando se encuentra un link a youtube encaja en las dos expresiones regulares y el src del iframe se modifica, por lo que deja de ser funcional. No sé exactamente como modificar una de las dos expresiones regulares para que los links a cualquier página web entren en la primera expresión regular, menos los de youtube, que deben entrar en la segunda.
Alguna idea? Gracias.