dongtang5776
2014-12-14 09:37 阅读 17
已采纳

如何将链接文本交换到链接和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://stackoverflow.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://stackoverflow.com">http://stackoverflow.com</a>
some normal text here too.
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    dongpanbo4727 dongpanbo4727 2015-06-30 00:37
    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;
    

    }

    点赞 评论 复制链接分享

相关推荐