@Yung_Cod3r

Содержит ли сообщение ссылку?

Есть бот, который "следит" За беседой, как ему узнать что какой-то пользователь отправил ссылку? (Чтобы применить наказание) Заранее спасибо!
  • Вопрос задан
  • 57 просмотров
Решения вопроса 2
HemulGM
@HemulGM
Delphi Developer, сис. админ
Ссылка - есть текст и также, преобразуется во вложение "link". Если не удалять текст ссылки после преобразования, то ссылка будет в тексте. Во вложении также легко можно получить ссылку из вложения.
5e480da35f2ff199523270.png
Ответ написан
@NedoKoder
С помощью регулярки. Итоговая регулярка зависит от запрещенных видов ссылок и может быть объемной. Один из вариантов:

$text_1 = 'Привет';
$text_2 = "Как дела?";
$text_3 = "Тут в тексте есть ссылка...вот она: http://mail.ru";
$re = '/(?<![\w\-]="|")(https?:\/\/[\w\-\.!~?&=+\*\'(),\/\#\:]+)((?!\<\/\w\>))*?/';

if(preg_match ($re, $text_1, $arr)){echo 'Найдено';}else{echo "Не найдено";} // Не найдено
if(preg_match ($re, $text_2, $arr)){echo 'Найдено';}else{echo "Не найдено";} // Не найдено
if(preg_match ($re, $text_3, $arr)){echo 'Найдено';}else{echo "Не найдено";} // Найдено
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
23 апр. 2024, в 19:21
300 руб./за проект
23 апр. 2024, в 19:05
15000 руб./за проект
23 апр. 2024, в 19:01
7000 руб./за проект