|
|
[ Вопрос ] Проверка URL на валидность (preg_match) в PHP |
|
Программирование - PHP, MySQL, JavaScript, CSS, HTML верстка и т.д. |
![]() |
|
Опции темы | Оценить тему | Опции просмотра |
![]() |
#1 |
|
![]() ![]() [HTML]$file_now = "http://www.domain.net.ua:8080/48649c6575cab899e6841aea6563e72a/down/3878/Abcde(FGH*).avi#dfbdf-dfb";
if (preg_match("~^(? ![]() "(?::[a-z0-9_-]{1,32})[email protected])?)?(? ![]() "org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(? ![]() "!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(:[0-9]{1,5})?(?:/[а-яa-z0-9.,[email protected]%\(\)\*&". "?+=\~/-]*)?(?:#[^ '\"&<>]*)?$~i", $file_now)) print "Correct!"; else print "Incorrect...";[/HTML] нашел такой скрипт, нужна подсказка как его можно переделать чтоб выполнял функцию проверки урла на валидность + запрет отпределенного урла ![]() ![]()
|
![]() |
![]() |
![]() |
#3 |
|
![]() [html]$file_now = "http://www.domain.net.ua:8080/48649c6575cab899e6841aea6563e72a/down/3878/Abcde(FGH*).avi#dfbdf-dfb";
IFcorLink($file_now) { if (preg_match("~^(? ![]() "(?::[a-z0-9_-]{1,32})[email protected])?)?(? ![]() "org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(? ![]() "!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(:[0-9]{1,5})?(?:/[а-яa-z0-9.,[email protected]%\(\)\*&". "?+=\~/-]*)?(?:#[^ '\"&<>]*)?$~i", $file_now)) return 1; else return 0; } if (IFcorLink($сылка) == 1) { действие; } else { обратное действие; }[/html] *RU*, попробуй так. |
![]() |
![]() |
"Спасибо" от: | СТЕПАН (14.09.2012) |
![]() |
#5 | ||||
|
![]() ![]() Цитата:
Цитата:
Цитата:
Цитата:
![]()
|
||||
![]() |
![]() |
![]() |
#6 |
|
![]() Посмотри что делает твой скрипт:
Он ложит урл в переменную $file_now, Потом проверяет условие, то что я написал, на вхождение строки запрещенного урла в переменную $file_now, и если есть вхождение останавливает дальнейшую проверку, а если нет, то переходит к следующему условию, и выдает результат. P.S. второй строкой имелось ввиду вставить в первоначальный код на первом сообщении. Вот: [php]$file_now = "http://www.domain.net.ua:8080/48649c6575cab899e6841aea6563e72a/down/3878/Abcde(FGH*).avi#dfbdf-dfb"; if (preg_match("~www\.site\.ru~", $file_now)) exit('Запрещенный урл'); if (preg_match("~^(? ![]() ![]() ![]() print "Correct!"; else print "Incorrect...";[/php] ![]() XRumer 7.5.28 Elite: выбор профессионалов. http://u.to/HzA9Ag
|
![]() |
![]() |
"Спасибо" от: | СТЕПАН (14.09.2012) |
![]() |
#7 |
|
![]() ![]() Сработало! но только при сто процентном совпадении а как бы запретить вообще чтоб и с www и без него ни чего нельзя добавить было? через | написать?
![]()
|
![]() |
![]() |
![]() |
#8 | |
|
![]() Цитата:
Ответ: если есть вхождение в строку по барабану есть там что в начале или в конце, то есть будет ли www , или не будет, главное написать точно имя домена, или субдомена, или папку (то что надо запретить). Вот попробуй - по барабану на то что до и после : [php]$file_now = 'www.site.ru'; if (preg_match("~site\.ru~", $file_now)) exit('Запрещенный урл'); echo "ok";[/php] ![]() XRumer 7.5.28 Elite: выбор профессионалов. http://u.to/HzA9Ag
|
|
![]() |
![]() |
"Спасибо" от: | СТЕПАН (14.09.2012) |
![]() |
Метки |
php, preg_match, url |
|
Опции темы | |
Опции просмотра | Оценка этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверка аффелиатов | emlonlife | Почетные пользователи - скрытый раздел | 1 | 19.12.2011 14:56 |
Валидность неправильного тега | падаван | Программирование | 2 | 12.07.2011 13:25 |
Верстка макетов DLE, WP, IPB: кроссбраузерность, валидность HTML5, оплата по факту | Galer | Создание дизайна | 0 | 23.02.2011 01:57 |
Проверка на фильтр | NitroM$I | Яndex | 1 | 17.08.2010 16:11 |
На сколько важна валидность HTML и CSS | veronika | Программирование | 10 | 28.07.2010 20:00 |
|
Текущее время: 16:10. Часовой пояс GMT +3.
|