|
|
|
| Доброго всем времени суток!
Предлагаю вашему вниманию на дополнения и корректировки регулярное выражение сложного URL типа ссылки на этот пост
http://www.softtime.ru/forum/read.php?id_forum=6&id_theme=81361&page=1
Сначала разделим сложное на простое, потом соединим все вместе:
1. http://, https://, может быть, а может нет ([url]www.softtime.ru/forum/read.php?id_forum=6&id_theme=81361&page=1[/url])
2. www., может быть , а может нет ([url]softtime.ru/forum/read.php?id_forum=6&id_theme=81361&page=1[/url], http://softtime.ru/forum/read.php?id_forum=6&id_theme=81361&page=1)
3. softtime.ru, softtime.biz, софттайм.рф, info.softtime.ru, инфо.софттайм.рф
[-а-яa-z0-9_\.]{2,}\.(рф|[a-z]{2,6})
|
4. /forum/ или read.php или /forum/read.php
((\/[-а-яa-z0-9_]\/|[-а-яa-z0-9_]{2,}\.(рф|[a-z]{2,6}))|(\/[-а-яa-z0-9_]\/[-а-яa-z0-9_]{2,}\.(рф|[a-z]{2,6})))
|
5. ?id_forum=6 может и не быть
(\?[a-z0-9_]{2,}=[-0-9]{1,})?
|
6. &id_theme=81 может и не быть
(\&[a-z0-9_]{2,}=[-0-9]{1,})?
|
Итог:
(https?:\/\/)?(www\.)?[-а-яa-z0-9_\.]{2,}\.(рф|[a-z]{2,6})((\/[-а-яa-z0-9_]\/|[-а-яa-z0-9_]{2,}\.(рф|[a-z]{2,6}))|(\/[-а-яa-z0-9_]\/[-а-яa-z0-9_]{2,}\.(рф|[a-z]{2,6})))(\?[a-z0-9_]{2,}=[-0-9]{1,})?(\&[a-z0-9_]{2,}=[-0-9]{1,})?/gi
|
Вот такое выражение, жду поправок и комментариев! | |
|
|
|
|
|
|
|
для: muravey
(25.06.2011 в 07:55)
| | О, сколько ошибок! Я исправил. А вы? | |
|
|
|
|
|
|
|
для: muravey
(25.06.2011 в 09:14)
| | Работает, но еще нужно дорабатывать:
/(https?:\/\/)?(www\.)?([-а-яa-z0-9_\.]{2,}\.(рф|[a-z]{2,6}))((\/[-а-яa-z0-9_]{1,}\/)|(\/[-а-яa-z0-9_]{1,}\/)([-а-яa-z0-9_]{2,}\.(рф|[a-z]{2,6})))?((\?[a-z0-9_]{2,}=[-0-9]{1,})?((\&[a-z0-9_]{2,}=[-0-9]{1,}){1,})?)?/i
|
Какие нибудь есть варианты? | |
|
|
|
|
|
|
|
для: muravey
(25.06.2011 в 10:01)
| | Ну сейчас все!
/(https?:\/\/)?(www\.)?([-а-яa-z0-9_\.]{2,}\.)(рф|[a-z]{2,6})((\/[-а-яa-z0-9_]{1,})?\/?([a-z0-9_-]{2,}\.[a-z]{2,6})?(\?[a-z0-9_]{2,}=[-0-9]{1,})?((\&[a-z0-9_]{2,}=[-0-9]{1,}){1,})?)/i
|
Пользуйтесь для валидации сложных URL ваших форм! | |
|
|
|
|
автор: cgw (30.01.2013 в 17:46) |
|
|
для: muravey
(25.06.2011 в 11:17)
| | Русские буквы видно только если такrnа-яА-ЯёЁцушщхъфырэчстьюrnrn/(https?:\/\/)?(www\.)?([-а-яa-zёЁцушщхъфырэчстью0-9_\.]{2,}\.)(рф|[a-z]{2,6})((\/[-а-яёЁцушщхъфырэчстьюa-z0-9_]{1,})?\/?([a-z0-9_-]{2,}\.[a-z]{2,6})?(\?[a-z0-9_]{2,}=[-0-9]{1,})?((\&[a-z0-9_]{2,}=[-0-9]{1,}){1,})?)/i | |
|
|
|
|
автор: cgw (30.01.2013 в 17:48) |
|
|
для: cgw
(30.01.2013 в 17:46)
| | Русские буквы видно только если так
/(https?:\/\/)?(www\.)?([-а-яa-zёЁцушщхъфырэчстью0-9_\.]{2,}\.)(рф|[a-z]{2,6})((\/[-а-яёЁцушщхъфырэчстьюa-z0-9_]{1,})?\/?([a-z0-9_-]{2,}\.[a-z]{2,6})?(\?[a-z0-9_]{2,}=[-0-9]{1,})?((\&[a-z0-9_]{2,}=[-0-9]{1,}){1,})?)/i
|
| |
|
|
|
|