Правильное использование YouTube URL Regex

0

Я нашел это регулярное выражение при переполнении стека, чтобы получить идентификатор видео youtube.

function ytVidId(youtubeurl) {
var p = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
return (url.match(p)) ? RegExp.$1 : false;
}

Я чувствую, что мне не хватает чего-то очень очевидного, но я просто не понимаю, как его использовать. Как мне заставить это повлиять на мое поле ввода текста с именем "youtubeurl" перед его подготовкой к базе данных?

Большое спасибо... Любая помощь ценится!

Теги:

1 ответ

0

Сначала вам нужно получить текст из текстового поля, возможно, с помощью document.getelementbyid(). Value, то вы могли бы сделать (например, если ваш текстовый код id # txt1, вы можете использовать этот код:

function ytVidId(youtubeurl) {
var p = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
return (url.match(p)) ? RegExp.$1 : false;
}

var ytURL = document.getelementbyid("txt1").value;
var ytID = ytVidID(ytURL);

теперь переменная ytID содержит идентификатор видео youtube, и вы можете добавить его в базу данных, как вы хотите

  • 0
    Спасибо! Все остальные переменные, которые отправляются в базу данных, выполняются как - $ _POST ['youtubeurl'] в подготовленном выражении. У вас есть идея, как я могу установить новый идентификатор в качестве переменной, чтобы я мог использовать его в том же выражении?
  • 0
    просто замените youtubeurl на ytID, если у вас есть этот код! например: var ytID = ytVidID(youtubeurl); $_POST['ytID']

Ещё вопросы

Сообщество Overcoder
Наверх
Меню