Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 25.04.2011, 16:04   #1
Новичок
 
Аватар для НастяНиколаева
 
Регистрация: 18.10.2010
Сообщений: 47
Вес репутации: 170
НастяНиколаева - очень-очень хороший человекНастяНиколаева - очень-очень хороший человекНастяНиколаева - очень-очень хороший человекНастяНиколаева - очень-очень хороший человек
По умолчанию Помогите с регэкспом плиз..

Надо из ютубовских кодов выцепить идентификатор видеоролика.
Поможите, чтото я никак сама.. и если можно- с объяснением как этот регэксп работает.

пример кодов:
PHP код:
http://www.youtube.com/watch?v=eHl8uDMlsAw&feature=feedrec_grec_index

<object width="560" height="349"><param name="movie" value="http://www.youtube.com/v/eHl8uDMlsAw?fs=1&amp;hl=ru_RU"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/eHl8uDMlsAw?fs=1&amp;hl=ru_RU" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="349"></embed></object>

<
iframe title="YouTube video player" width="560" height="349" src="http://www.youtube.com/embed/eHl8uDMlsAw" frameborder="0" allowfullscreen></iframe
Вытащить надо вот это: eHl8uDMlsAw

Очень буду признательна за помощь..


Добавлено через 41 секунду
В догонку- на пхп это нужно..

Последний раз редактировалось НастяНиколаева; 25.04.2011 в 16:04. Причина: Добавлено сообщение
НастяНиколаева вне форума   Ответить с цитированием
Старый 25.04.2011, 16:33   #2
Новичок
 
Аватар для contentsys
 
Регистрация: 27.01.2009
Адрес: Earth
Сообщений: 41
Вес репутации: 188
contentsys скоро станет известен
По умолчанию

Цитата:
Сообщение от НастяНиколаева Посмотреть сообщение
Надо из ютубовских кодов выцепить идентификатор видеоролика.
Поможите, чтото я никак сама.. и если можно- с объяснением как этот регэксп работает.

пример кодов:

у меня на этот случай сделана вот такая штуковина:

PHP код:
function between ($text,$start,$end)     {


$out=strstr($text,$start);
$out=str_replace($start,"",$out);
$out2=strstr($out,$end);
$out=str_replace($out2,"",$out);
return 
$out;

Т.е. в твоем случае выборку с вызовом этой функции надо будет делать так:
PHP код:
$id=between($youtube_code,"http://www.youtube.com/v/","?fs=1&amp;hl=ru_RU"); 
И функция тебе вернет: eHl8uDMlsAw

Добавлено через 2 минуты
И никаких тебе регэкспов ))

Добавлено через 2 минуты
А теперь, для ЧСВ покажу тебе еще один свой фокус...

Если тебе надо из одной страницы НЕСКОЛЬКО таких id вытащить, то вуаля:

PHP код:
     function multibetween($text,$first,$last) {
$n=0;
while (
strstr($text,$first)) {

$out[$n]=strstr($text,$first);
$out[$n]=str_replace($first,"",$out[$n]);
$out2[$n]=strstr($out[$n],$last);
$out[$n]=str_replace($out2[$n],"",$out[$n]);
$text=strstr($text,$first);
$text=strstr($text,$last);
$text=strstr($text,$first);
$n++;




}

return 
$out;


функция возвращает массив из всех найденных "промежностей"

Последний раз редактировалось contentsys; 25.04.2011 в 16:33. Причина: Добавлено сообщение
contentsys вне форума   Ответить с цитированием
Старый 25.04.2011, 16:34   #3
Новичок
 
Аватар для НастяНиколаева
 
Регистрация: 18.10.2010
Сообщений: 47
Вес репутации: 170
НастяНиколаева - очень-очень хороший человекНастяНиколаева - очень-очень хороший человекНастяНиколаева - очень-очень хороший человекНастяНиколаева - очень-очень хороший человек
По умолчанию

Цитата:
Сообщение от contentsys Посмотреть сообщение
Т.е. в твоем случае выборку с вызовом этой функции надо будет делать так:
PHP код:
$id=between($youtube_code,"http://www.youtube.com/v/","?fs=1&amp;hl=ru_RU");
И функция тебе вернет: eHl8uDMlsAw

Добавлено через 2 минуты
И никаких тебе регэкспов ))

Ога. А то что хвост "fs=1&amp;hl=ru_RU" может быть другим ты естессн не подумал, да?
НастяНиколаева вне форума   Ответить с цитированием
Старый 25.04.2011, 16:35   #4
Специалист
 
Регистрация: 13.03.2011
Сообщений: 112
Вес репутации: 0
aost_spb может только надеяться на улучшение
По умолчанию

Код:
sed  -e 's/http.*watch?v=//'  -e  's/\&.*//'
Ну, вот как-то так. Смысл, надеюсь, понятен и под php функцию preg_replace() сможете адаптировать?
aost_spb вне форума   Ответить с цитированием
Старый 25.04.2011, 16:35   #5
Новичок
 
Аватар для НастяНиколаева
 
Регистрация: 18.10.2010
Сообщений: 47
Вес репутации: 170
НастяНиколаева - очень-очень хороший человекНастяНиколаева - очень-очень хороший человекНастяНиколаева - очень-очень хороший человекНастяНиколаева - очень-очень хороший человек
По умолчанию

Такчто ты поторопился со свои чсв..
Неправильно подходишь.

Тогда уж так-
выцепить из кода урл - легко и без регэкспа.
Потом для каждого вида урла делаем свое парсерное правило и парсим.
Но это все через попу. А охота красива штоп..
НастяНиколаева вне форума   Ответить с цитированием
Старый 25.04.2011, 16:36   #6
Новичок
 
Аватар для contentsys
 
Регистрация: 27.01.2009
Адрес: Earth
Сообщений: 41
Вес репутации: 188
contentsys скоро станет известен
По умолчанию

Цитата:
Сообщение от НастяНиколаева Посмотреть сообщение
Ога. А то что хвост "fs=1&amp;hl=ru_RU" может быть другим ты естессн не подумал, да?
Тогда вместо $end поставь не fs=1&amp;hl=ru_RU", а просто "?"
знак вопроса по-любому последует за id
contentsys вне форума   Ответить с цитированием
Старый 25.04.2011, 16:36   #7
Новичок
 
Аватар для НастяНиколаева
 
Регистрация: 18.10.2010
Сообщений: 47
Вес репутации: 170
НастяНиколаева - очень-очень хороший человекНастяНиколаева - очень-очень хороший человекНастяНиколаева - очень-очень хороший человекНастяНиколаева - очень-очень хороший человек
По умолчанию

aost_spb, нет, смысл не понятен. В регэкспах- как баран в новых воротах.
Помогайте дальше
НастяНиколаева вне форума   Ответить с цитированием
Старый 25.04.2011, 16:37   #8
Мастер
 
Аватар для WEB-Master
 
Регистрация: 29.03.2010
Адрес: <html></html>
Сообщений: 626
Вес репутации: 200
WEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от НастяНиколаева Посмотреть сообщение
Ога. А то что хвост "fs=1&amp;hl=ru_RU" может быть другим ты естессн не подумал, да?
попробуй вместо этого подставь

Цитата:
" frameborder="0" allowfullscreen
полностью, с кавычкой и пробелом.
WEB-Master вне форума   Ответить с цитированием
Старый 25.04.2011, 16:38   #9
Новичок
 
Аватар для contentsys
 
Регистрация: 27.01.2009
Адрес: Earth
Сообщений: 41
Вес репутации: 188
contentsys скоро станет известен
По умолчанию

Цитата:
Сообщение от НастяНиколаева Посмотреть сообщение
Такчто ты поторопился со свои чсв..
Неправильно подходишь.

Тогда уж так-
выцепить из кода урл - легко и без регэкспа.
Потом для каждого вида урла делаем свое парсерное правило и парсим.
Но это все через попу. А охота красива штоп..
Охота всегда результат и штоп без проблем.
Такая штука как у меня всегда меня выручает, если головой думать и анализировать что там бывает на конце.

Не надо ездить из Москвы в Питер через Владивосток.

Добавлено через 55 секунд
Цитата:
Сообщение от WEB-Master Посмотреть сообщение
полностью, с кавычкой и пробелом.
Да, и судя по уровню смекалки Насти, я бы ей посоветовал кавычку экранировать, т.е. написать \" вместо "

Последний раз редактировалось contentsys; 25.04.2011 в 16:38. Причина: Добавлено сообщение
contentsys вне форума   Ответить с цитированием
Старый 25.04.2011, 16:39   #10
Мастер
 
Аватар для WEB-Master
 
Регистрация: 29.03.2010
Адрес: <html></html>
Сообщений: 626
Вес репутации: 200
WEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордитсяWEB-Master - за этого человека можно гордится
По умолчанию

о... напутал, точнее так

Цитата:
$id = between($youtube_code, 'http://www.youtube.com/embed/', '" frameborder="0" allowfullscreen');
WEB-Master вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с rss плиз khana Курилка 0 05.04.2010 23:43
Плиз помогите pautinka Курилка 30 17.03.2010 22:10
Помогите плиз! dimabest Установка кода на различные движки 15 04.02.2009 14:35
Помогите плиз! Фenix™ Разработка и сопровождение сайтов 7 15.01.2009 18:54
Помогите ПЛИЗ (SOS) BlackLife Вопросы от новичков 4 11.06.2008 20:11


Часовой пояс GMT +3, время: 19:11.