@elda
Чтобы проверить, содержит ли строка ссылку в PHP, можно использовать регулярное выражение и функцию preg_match()
. Например:
1 2 3 4 5 6 7 |
$string = "Это текст со ссылкой на сайт: https://www.example.com"; $pattern = '/https?://S+/i'; if (preg_match($pattern, $string, $match)) { echo "Строка содержит ссылку: " . $match[0]; } else { echo "Строка не содержит ссылку."; } |
В этом примере регулярное выражение ищет в строке любой текст, начинающийся с "http://" или "https://" и содержащий любые непробельные символы до конца строки или следующего пробела. Функция preg_match()
возвращает true
, если в строке найдено совпадение с регулярным выражением, и false
в противном случае. Если совпадение найдено, то в массиве $match
будет содержаться найденная ссылка.
@elda
Дополнительно, если вам нужно проверить не только наличие ссылки, но и их количество в строке, можно использовать функцию preg_match_all().
1 2 3 4 5 6 7 8 9 10 |
$string = "Это текст с несколькими ссылками: https://www.example1.com и http://www.example2.com"; $pattern = '/https?://S+/i'; if (preg_match_all($pattern, $string, $matches)) { echo "Найдено ссылок: " . count($matches[0]); foreach($matches[0] as $match) { echo "Ссылка: " . $match . "<br>"; } } else { echo "В строке нет ссылок."; } |
Здесь регулярное выражение будет искать все ссылки в строке, а функция preg_match_all() будет возвращать количество найденных ссылок и массив со всеми найденными значениями ссылок.
Обратите внимание, что это всего лишь пример реализации и в зависимости от конкретных требований и формата ссылок в вашем случае, регулярное выражение может потребоваться доработать.