X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Подскажите, где ошибка в регулярке?
happyhand
happyhand
Topic Starter сообщение 23.7.2011, 10:47; Ответить: happyhand
Сообщение #1


Нужно сделать проверку на валидность кода из youtube.
Код имеет вид:

[PHP]
<iframe width="425" height="349" src="http://www.youtube.com/embed/gvwTJVXWmz0" frameborder="0" allowfullscreen></iframe>
[/PHP]

Отличаются только выделенные символы, там могут также встречаться равно, подчёркивание, тире, других, вроде не заметил.

Таким выражением пытаюсь проверить, но что-то не так:

[PHP]
if (!preg_match('/^\<iframe width=\"560\" height=\"349\"
src=\"http:\/\/www\.youtube\.com\/embed\/([a-zA-Z0-9-_=\/]+)\"
frameborder=\"0\" allowfullscreen\>\<\/iframe\>/iu',$_POST['videocode']))
echo"Неверный код"; else echo"Верный код";
[/PHP]

Где ошибка?

А, символы не выделились, вот они - gvwTJVXWmz0
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
сообщение 23.7.2011, 10:59; Ответить: Salikhoff_hb
Сообщение #2


[PHP] Круто тень, то какая с форумом творится![/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 23.7.2011, 11:18; Ответить: alexdrob
Сообщение #3


sergey-g, а почему бы не проверять просто что это iframe и ссылка на ютуб?
или обязательно все параметры проверять?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 23.7.2011, 11:38; Ответить: happyhand
Сообщение #4


Вот так?

[PHP]
if (!preg_match('/^(iframe)|(http:\/\/www\.youtube\.com\/
embed\/([a-zA-Z0-9-_=\/]))/',$_POST['videocode']))
echo"Неверный код"; else echo"Верный код";
[/PHP]

А как сделать, чтоб и iframe и ссылка присутствовали?
Как ИЛИ знаю:)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 23.7.2011, 12:02; Ответить: alexdrob
Сообщение #5


[PHP]$link = '<iframe width="425" height="349" src="http://www.youtube.com/embed/gvwTJVXWmz0" frameborder="0" allowfullscreen></iframe>';
if (!preg_match('/^<iframe width="[\d]{2,4}" height="[\d]{2,4}" src="http:\/\/www\.youtube\.com\/embed\/[a-zA-Z0-9-_=\/]{8,15}"[a-zA-Z0-9-_="\/\s]*><\/iframe>/i',$link))
echo"Неверный код";
else
echo"Верный код";[/PHP]
проверка что ширина и высота заданы числом от 2х до 4х символов, что ссылка на ютуб содержит код видео от 8 до 15 символов, я не знаю сколько там бывает :)
потом текст пробелы кавычки и закрывающийся тег.

это не гарантирует что ссылка будет на 100% верной и без лишних атрибутов у тега. это прости пример
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 23.7.2011, 12:16; Ответить: happyhand
Сообщение #6


Не работает даже такой вариант:

[PHP]
if (!preg_match('/^<iframe width="[\d]{2,4}"/',$_POST['videocode']))
echo"Неверный код"; else echo"Верный код";
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 23.7.2011, 12:26; Ответить: happyhand
Сообщение #7


Кавычку не понимает ни так " ни так \"
Вот так работает:

<iframe width=

вот так уже нет:

<iframe width="
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 23.7.2011, 13:04; Ответить: happyhand
Сообщение #8


Ну помогите, очень нужно!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 23.7.2011, 13:10; Ответить: alexdrob
Сообщение #9


у меня работает, по этому я не смогу помочь, так как не знаю причин почему не работает у вас :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 23.7.2011, 13:50; Ответить: happyhand
Сообщение #10


Да, странно, если на одной странице весь код разместить, то работает, а если передать через форму, то нет...
Не подскажете, в чём проблема?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Кто где хранит файлы? И какой объем?
просто интересно
19 mark2013 1983 25.3.2024, 6:42
автор: Skyworker
Открытая тема (нет новых ответов) Где больше пробив на кликандер или попандер или попап трафике?
1 Boymaster 612 20.3.2024, 9:50
автор: Skyworker
Открытая тема (нет новых ответов) Где получить виртуальную карту бесплатно?
22 Mixatraider 5427 2.3.2024, 0:08
автор: Alekser
Горячая тема (нет новых ответов) Где лучше зарегистрировать email?
104 MorKer 13522 29.2.2024, 23:45
автор: bestx24
Открытая тема (нет новых ответов) Где зарегать домен RU за рубежом.
Без документов, паспорта.
7 chakrai 2259 20.2.2024, 15:48
автор: apirone


 



RSS Текстовая версия Сейчас: 28.3.2024, 15:31
Дизайн