php - 如何将链接文本交换为链接,将YouTube链接交换为在YouTube中将代码嵌入YouTube

标签 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.

最佳答案

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;

}

关于php - 如何将链接文本交换为链接,将YouTube链接交换为在YouTube中将代码嵌入YouTube,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27468041/

相关文章:

php - Jquery, PHP, MySQL Live Search 某些结果出现中断,如何避免?

php - 将 mysql_result 变量转换为 mysqli 时遇到问题

python - re.sub() 后错误的字符集

regex - 如何使用正则表达式验证电话号码

php - 在 mailto : replace subject and body adding %20 instead space in all file php using notepad++

python - 在Python中使用gdata Youtube API时出现套接字错误

php显示错误的日期

php查找包含关键字的字符串并获取标签之间的字符串

python - 如何为Python找到正确的youtube xpath

youtube - 如何限制Youtube Player全屏仍在窗口内,我不想拥有真正的全屏