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

时间:2014-12-14 09:37:47

标签: php regex youtube swap

如何交换包含链接和youtube网址的文字以嵌入YouTube视频:

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

结果:

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

1 个答案:

答案 0 :(得分:0)

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;

}