Почему слово 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 "Есть ссылка";
}
Продвижение своими сайтами как стратегия роста и независимости