[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярные выражения
Soldier Ghost
Всем привет, у меня как всегда проблемы с регулярными выражениями.
Задача стоит такая найти в тексте следущие [video]тут_ссылка_flv_ролика.flv[/video]
после этого вытащить эту ссылку и вставить везде где нужно в этом коде плеера:

<object type="application/x-shockwave-flash"
data="http://flv-mp3.com/i/pic/uflvplayer_500x375.swf" height="300" width="400">

<param
name="bgcolor" value="#FFFFFF" />
<param
name="allowFullScreen" value="true" />
<param
name="allowScriptAccess" value="always" />
<param
name="movie" value="http://flv-mp3.com/i/pic/uflvplayer_500x375.swf" />
<param
name="FlashVars"
value="way=СЮДА&swf=
http://flv-mp3.com/i/pic/uflvplayer_500x37...=400&h=300&pic=
http://&autoplay=0&tools=1&skin=white&volume=70&q=&comment="
/>

</object>



После этого заменить это: [video]тут_ссылка_flv_ролика.flv[/video] на код плеера.
Может быть я это всё грамоздко рсписал
я думаю что можно обойтись одной регуляркой,
но у меня с ними проблемы. Помогите решить эту задачу.
Заранее благодарен!


 ! 

М
Выношу последний раз устное предупреждение. размещайте свои темы в форумах по категориям. Это вопрос для форума для регулярных выражений. И форматируйте ваш код - вы что не видите, что появился горизонтальная прокрутка. В след раз отправлю в бан - не первый день на форуме
HardWoman




Спустя 1 час, 9 минут, 21 секунда (7.08.2010 - 13:25) Soldier Ghost написал(а):
Народ помогите )

Спустя 6 минут, 33 секунды (7.08.2010 - 13:32) DedMorozzz написал(а):
не ясно. Укажи что есть и что должно выйти.
Ибо текста "[video]тут_ссылка_flv_ролика.flv[/video]" я вообще не увидел

Спустя 6 минут, 27 секунд (7.08.2010 - 13:38) Soldier Ghost написал(а):
В админке например человек пишет это: [video]тут_ссылка_flv_ролика.flv[/video]
А на сайте у него это должно превратится в просмотр видео должен вылезти плеер

Спустя 1 час, 37 минут, 55 секунд (7.08.2010 - 15:16) DedMorozzz написал(а):
наверное выходные так действуют. Но у меня не вышло
Цитата
Укажи что есть и что должно выйти.
сопоставить с
Цитата
В админке например человек пишет это: [video]тут_ссылка_flv_ролика.flv[/video]
А на сайте у него это должно превратится в просмотр видео должен вылезти плеер
но я старался, чесслово. Я не вру...)

Спустя 59 минут, 5 секунд (7.08.2010 - 16:15) Soldier Ghost написал(а):
Спасибо тебе.
Народ кто нибудь ещё может попробовать или посоветовать что-нибудь?

Спустя 17 минут, 37 секунд (7.08.2010 - 16:33) DedMorozzz написал(а):
Да ну ты чё) Укажи начальный и конечный результат. Я напишу тебе регулярку. Я ещё не сталкивался с задачей, которую не мог бы регуляркой решить smile.gif
Естесно адекватную задачу, а не построить звёздолёт

Спустя 2 минуты, 24 секунды (7.08.2010 - 16:35) Soldier Ghost написал(а):
Цитата (DedMorozzz @ 7.08.2010 - 13:33)
Да ну ты чё) Укажи начальный и конечный результат. Я напишу тебе регулярку. Я ещё не сталкивался с задачей, которую не мог бы регуляркой решить smile.gif
Естесно адекватную задачу, а не построить звёздолёт

Не понял. что за начальный и конечный? )

Спустя 21 минута, 26 секунд (7.08.2010 - 16:57) DedMorozzz написал(а):
Смотри "хорошая" постановка вопроса:
"Граждане, у меня возникла задача. Надо что-то сделать. У меня есть текст
Цитата
"аааа ВИДЕО_ТУТ 123213123 ВИДЕО_КОНЕЦ. ББББ ывфвфыББББ"

В этом тексте необходимо ББББ заменить на то, что между тегами "Видео_тут" и "видео_конец". Т.е. выйдет "
Цитата
аааа . 123213123 ывфвфы123213123"

По получению необходимого результат, торжественно клянуь принести в твою честь, в жертву 100 быков и 1 барана(никогда их не любил).
Вот как-то так вопрос будет правильный. Когда ясно, что есть и что надо получить.

Спустя 36 минут, 57 секунд (7.08.2010 - 17:33) E-SPAR написал(а):
явно речь идет о bb-коде

может быть как-то так
$text = "blah-blah[video]http://supervideo.ru/video.flv[/video]blah-blah";
preg_match("/\[video\](.*)\[\/video\]/", $text, $matches);


в итоге получится массив $matches со ссылкой

Спустя 8 минут, 55 секунд (7.08.2010 - 17:42) DedMorozzz написал(а):
ага, но не ясно какую куда) Будет 5 ссылок, и куда контент кидать)
E-SPAR
В данном случае мона делать проще. Через реплейс:
$res= preg_replace('#.*?\[video\](.*?)\[/video\].*#s,'$1',$text);

Таким образом в переменной РЕС будет контент сразу. Без обработки.
Но, учитывая, что ТС на пхпфоруме уже более 2х лет, вопрос явно не в этом. Ибо эта регулярка из 1й страницы учебнка по регекспам)
А вот что он хочет получить, так и не выяснил)

Спустя 26 минут, 52 секунды (7.08.2010 - 18:09) twin написал(а):
Нате из моей bb-шки
 

// Путь до корня скрипта
define('IRB_BB_PATH', 'http://'. $_SERVER['HTTP_HOST'] .'/bbcode');

/**
* Функция генерации видеоролика
*
@param array $match
*
@return string
*/


function createSwf($match)
{
$match[1] = str_replace("\n", "", $match[1]);
return '<center><object type="application/x-shockwave-flash" data="'. IRB_BB_PATH .'/images/video.swf" height="300" width="400">
<param name="bgcolor" value="#333333" /><param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="movie" value="'
. IRB_BB_PATH .'/images/video.swf" />
<param name="FlashVars" value="way=http://'
. $match[1] .'.flv&swf='
. IRB_BB_PATH .'/images/video.swf&w=400&h=300&pic=http://&autoplay=0&tools=1&skin=white&volume=70&q=&comment=" />
</object></center>'
;
}

$text = preg_replace_callback('#\[video\]http://([^\] \?]+?).flv\[/video\]#si', 'createSwf', $text);

Спустя 16 часов, 15 минут, 12 секунд (8.08.2010 - 10:24) Soldier Ghost написал(а):
Спасибо всем огромное!


_____________
Schecter damien 6 FR
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.