- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Подскажите пожалуйста, как проверять урлы на валидность.
перепробовал все регулярки что-то не выходит. Функция preg_match не срабатывает
Нужно проверять данные с формы на корректность.
В сети порылся регулярок куча, но не работают от чего то.:confused:
Еще пробовал ereg но он устаревший говорят.
define("URL_RX_HOST",' (?i: [a-z0-9] (?: [-a-z0-9]*[a-z0-9] )? \. )+(?: cat|jobs|mobi|pro|travel|
com|edu|gov|int|mil|net|org|biz|info|
name|museum|coop|aero|[a-z][a-z]
)');
function isValidUrl( $url ) {
return (boolean)preg_match(
'{^https?://'.URL_RX_HOST.'(?: /.* )? $}xi',
$url
);
}
функция есть : http://ru2.php.net/manual/ru/function.parse-url.php
функция есть : http://ru2.php.net/manual/ru/function.parse-url.php
Читаем:
This function is not meant to validate the given URL, it only breaks it up into the above listed parts. Partial URLs are also accepted, parse_url() tries its best to parse them correctly.
это понятно, но ее все же можно использовать :
если развалить url на части и собирать заново из частей и сравнить как строчку.
думаю будет довольно шустро работать, ведь она написана на языке низкого уровня С .
это понятно, но ее все же можно использовать :
если развалить url на части и собирать заново из частей и сравнить как строчку.
думаю будет довольно шустро работать, ведь она написана на языке низкого уровня С .
Сомневаюсь, что это будет проще и возможно врядли будет быстрее.
это понятно, но ее все же можно использовать :
если развалить url на части и собирать заново из частей и сравнить как строчку.
думаю будет довольно шустро работать, ведь она написана на языке низкого уровня С .
Самое проще это регуляным выражением с пощью preg_match
Но вот у меня не выходит что то.
нужно задать шаблон
типа
http{s}://{www}[A-Z-a-z][0-9].Но я не силен в регулярках.Указывать зону домена явно com|net|biz. и так далее, не стоит так как
тогда получиться несколько строчек кода.
Очень желательно чтобы в поля e-mail и url были введены именно адрес электронной почты и адрес сайта соответственно, а не то, что душе угодно:
Такая запись устанавливает условие на содержимое переменной $email. Функция вернет true, если данные в переменной похожи на адрес электронной почты, false - в противном случае.
У меня он что то не ловит мусор. тоесть пропускает все.
в общем решил сделать так
буквы цифры дефис и точка, а домен такие бывают типа
Второй ответ в топике посмотрите
В свое время тоже задавался этим вопросом, изучив кучу доков, написал вот такую регулярку, правда это C++ и boost, но сама регулярка может перебраться и на php
У Вас в регулярке в качестве границ используется наклонный слэш, который также присутствует и в теле регулярного выражения. Замените его на вертикальный (|)
как проверять урлы на валидность.
а что для Вас валидный URL? или, вернее, какой из них может быть не валиден?
можно пойти самым простым путем. Запросить HEAD по этому пути и посмотреть, есть ошибка или нет?