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



 

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

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

Открыть тему
Тема закрыта
> Программа с регулярными выражениями для определения валидности url
pingvin_hb
pingvin_hb
Topic Starter сообщение 8.1.2011, 21:59; Ответить: pingvin_hb
Сообщение #1


Я исследую три части url: до знака ? (или # если нет ? или до ВК) (основная), после # (если есть) и после ? (если есть). Определяет порты и запись escape (число с процентом). [/COLOR]
Я написал это потому, что назвал Apay, то что я писал раньше - простейшим. Я делю ссылку на три части, можно и неделя, но это для меня трудно. Пример:
[PHP]function checkurl($url) {
$flag=$tmp=$tmp2=$dva=$tri=0;
if ($tmp=strpos($url,'?')) $odin=substr($url,0,$tmp);
elseif ($tmp2=strpos($url,'#')) {$flag=3;$odin=substr($url,0,$tmp2);} // есть 1 и 3 части
else {$odin=$url;$flag=1;} // нет 2 и 3 частей
if (!preg_match("/^https?:\/\/\w[%\\w\\d\\.\\-\/]+(:[\\d]{1,3})?[%\\w\\d\\.-\/]+[%\w\d]\/?$/",$odin)) return 0;
if ($flag==1) return 1; // Учтите, что имя якоря в ссылках всегда ставится в самом конце, и нет 2 части
if ($tmp2) $tri=substr($url,$tmp2); // нет второй части, а 3 есть
elseif ($tmp2=strpos($url,'#')) $tri=substr($url,$tmp2); // есть вторая и третья части
if ($tri) if (!preg_match("/^#[\w\d]+$/",$tri)) return 0; // есть 3 часть, но неправильная
if (!$tmp) return 4; // 2 нет, в 3 в норме
if ($tmp2) $dva=substr($url,$tmp,$tmp2-$tmp);
else $dva=substr($url,$tmp); // есть 2, а 3 нет
if (preg_match("/^\?[\w\d]+\=[%\w\d\.]+((&|&)[\w\d]+\=[%\w\d\.]+)*$/",$dva)) return 2; // точка может итти только после = и до &
return 0;
[/PHP][COLOR=darkblue]
} Если у кого-то будут предложения, замеченные ошибки или идеи по улучшению прошу сюда.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
NoDrum
NoDrum
сообщение 8.1.2011, 23:51; Ответить: NoDrum
Сообщение #2


Может не совсем тебя понял, но есть функция parse_url.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 9.1.2011, 13:21; Ответить: Mulder_hb
Сообщение #3


Покажите примеры ссылок.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 9.1.2011, 20:56; Ответить: ZhukV
Сообщение #4


А вот такой УРЛ?
ftp://zhukv.com
https://zhukv.com:xxxx
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pingvin_hb
pingvin_hb
Topic Starter сообщение 10.1.2011, 0:02; Ответить: pingvin_hb
Сообщение #5


(NoDrum @ 9.1.2011, 01:51) *
... есть функция parse_url.

Я не знал об этой функции, используя её можно было бы сделать проще, а моя в отличие от указанной функция определяет валидность url.
(Mulder_hb @ 9.1.2011, 15:21) *
Покажите примеры ссылок.

Я написал спец программу с разными ссылками:
(ZhukV @ 9.1.2011, 22:56) *
А вот такой УРЛ?

ftp://zhukv.com
ftp не поддерживает специально.
https://zhukv.com:xxxx
Буквенный порт не имеет смысла, а если тут вставить числовой порт – то принимает.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыПартнерская программа OWNR WALLET
Создайте дополнительный источник пассивного дохода в криптопартнерке и
41 OWNR_Affiliate 12191 Вчера, 14:53
автор: OWNR_Affiliate
Открытая тема (нет новых ответов) ✅ sms.chekons.com - ⭐ Сервис для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" ⭐
Сервис для получения SMS на реальные номера USA
13 Chekon 4078 18.4.2024, 11:48
автор: Chekon
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
1 Rebex 690 17.4.2024, 11:50
автор: Rebex
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыBurzh.top|Партнерская программа под любой вид трафика (email, спам, УБТ)
2 cryptius 763 16.4.2024, 17:50
автор: cryptius
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
11 Aloof 2822 16.4.2024, 12:48
автор: diviner99


 



RSS Текстовая версия Сейчас: 20.4.2024, 9:08
Дизайн