Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка URL
 
 автор: danya_nyjniy   (09.02.2013 в 20:45)   письмо автору
 
 

Привет! Уже долго пытаюсь найти ошибку в запросе но не могу... нужна ваша помощь.

Есть рег выражение:

if (preg_match("/^(https?:\/\/www\.|https?:\/\/|www\.)(\S+[^\s\t\n\r\\:\|\*<>])(\.mp3)$/Diu", $file, $match))

Почему ссылка

http://mp3.name.ru/mp3-Carly_*Jepsen-Call_Me_Maybe_(Remix).mp3

пропускается ведь в ней есть символ "*" ?

  Ответить  
 
 автор: ....   (10.02.2013 в 03:46)
 
   для: danya_nyjniy   (09.02.2013 в 20:45)
 

почему-то у меня совпал такой вариант... я вообще в шоке :)

это (\S+[^\s\\:\|\*<>]) ,если выкинуть всё лишнее, зачватит только один непробельный символ
, и всего один не из этого набора в [],

а это (\.mp3)$ .... никогда не пойму оно совпало

во первых $ .... по логике вообще не должно было
>модификатор
/D - dollar end only
Метасимвол $ не будет совпадать с позицией перед переводом строки \n, если тот последний в тексте.
Не имеет значения, если включен модификатор /m.


a (\.mp3) ????

  Ответить  
 
 автор: .....   (10.02.2013 в 04:23)
 
   для: ....   (10.02.2013 в 03:46)
 

понял где ошибся ...... \S+ это не один символ

  Ответить  
 
 автор: danya_nyjniy   (10.02.2013 в 11:56)   письмо автору
 
   для: .....   (10.02.2013 в 04:23)
 

Убрал /D. Всё равно пропускает со звёздочкой... Есть варианты какие-нибудь?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования