如何将链接文本交换到链接和youtube链接以在php中嵌入代码YouTube

如何将链接文本交换到链接和youtube链接以在php中嵌入代码YouTube

问题描述:

How can I swapping a text that has links and youtube url to embed youtube video:

$text = " normal text here 
            youtube : http://www.youtube.com/watch?v=xxxxxx
            link : http://*.com
            and some normal text here too.
            ";

Result :

youtube : <iframe width="529" height="315" src="//www.youtube.com/embed/YOUTUBE_URL_HERE" frameborder="0" allowfullscreen></iframe>
link : <a href="http://*.com">http://*.com</a>
some normal text here too.

function clickableLinksANDyoutubeIframe($text) {

    //swapping to embed youtube video
    $text = preg_replace("/\s*[a-zA-Z\/\/:\.]*youtube.com\/watch\?v=([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i","<iframe width=\"529\" height=\"315\" src=\"//www.youtube.com/embed/$1\" frameborder=\"0\" allowfullscreen></iframe>",$text);        

    //swapping to url href
    $text = preg_replace('/(?<!\S)#([0-9a-zA-Zذضصثقفغعهخحجدشسيبلاتنمكطئءؤرلاىةوزظأإآ_]+)/', '<a href="/hashtag/$1" class="hashtaglink">#$1</a>', $text);
    $text = preg_replace('/(?<!\S)@([0-9a-zA-Zذضصثقفغعهخحجدشسيبلاتنمكطئءؤرلاىةوزظأإآ_-]+)/', '<a href="/$1" class="hashtaglink">@$1</a>', $text);
    $text = nl2br($text);

    //the result
    return $text;

}