Я использую следующий код, чтобы превратить URL-адреса YouTube и Vimeo во встраиваемые:
$('.media-supported li, .blog-post').html(function(i, html) {
return html.replace(/(?:http:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.+)/g, '<div class="media-item"><iframe width="940" src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe></div>');
});
$('.media-supported li, .blog-post').html(function(i, html) {
return html.replace(/(?:http:\/\/)?(?:www\.)?(?:vimeo\.com)\/(?:clip\?v=)?(.+)/g, '<div class="media-item"><iframe src="http://player.vimeo.com/video/$1?title=0&byline=0&portrait=0" width="940" frameborder="0"></iframe></div>');
});
Если они сами по себе, они работают нормально.Однако, когда они заключены в парагаф, они принимают закрывающий тег как часть URL.
Вы можете видеть, что я имею в виду в этой скрипке - http://jsfiddle.net/xH7xK/
Можно ли сказать кодгде URL закончится - возможно, завершится, если <или закончится, если пробел, или оба? </p>