Почему слово Anet программа воспринимает как часть домена .net? Хотя если прописать просто net то, всё будет хорошо. Так же и с другими зонами.
$string = "Anet";
if (!preg_match ("/http|https|www|.ru|.com|.net|.info|.org/i", $string)) {
echo "Нет ссылки";
} else {
echo "Есть ссылка";
}
Почему слово Anet программа воспринимает как часть домена .net?
Потому что символ точки в регулярных выражениях соответствует почти любому символу. Исключение составляют символы перевода на новую строку, но если указан модификатор s
- точка будет соответствовать любым символам. Как было сказано в комментарии, для поиска символа точки достаточно её экранировать:
$string = "Anet";
if (! preg_match('~https?|www|\.(?:ru|com|net|info|org)~i', $string)) {
echo "Нет ссылки";
} else {
echo "Есть ссылка";
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Помогите пожалуйста не могу синхронизировать проект с gradle пишет bad_certificates хотя у меня в настройках сертификации с сервером принимаются автоматически...
Не понимаю, почему не работает ввод строки purchName? Если поменять местами 20 и 21 строку местами, то считывает число, и когда доходит до ввода строки,...