Поиск URL в строке

100
14 июня 2019, 03:10

есть массив, в нем есть текст в котором находятся ссылки, и есть просто текст.

foreach ($arrayData['messages'] as $item)
        {
            if (preg_match('#^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$#i', $item['content']))
            {
                $values[] = [date('Y-m-d H:i:s', $item['timestamp_ms'] / 1000), $item['sender_name'], $item['content'], isset($item['share']) ? $item['share']['link'] : null];
            }
        }

я хочу вытащить значения $item['content'] в которых есть и ссылка и текст.

Answer 1

порешал

$reg = '/(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}|(?:(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)(?:\.(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)*(?:\.[a-z\x{00a1}-\x{ffff}]{2,6}))(?::\d+)?(?:[^\s]*)?/uim';

        foreach ($arrayData['messages'] as $item)
        {
            if (preg_match_all($reg, $item['content']))
            {
                $values[] = [date('Y-m-d H:i:s', $item['timestamp_ms'] / 1000), $item['sender_name'], $item['content'], isset($item['share']) ? $item['share']['link'] : null];
            }
        }
READ ALSO
Почему laravel дергает Kernel при каждом запросе?

Почему laravel дергает Kernel при каждом запросе?

Имеется в разработке небольшой сервис для статистикиСуть задачи на кроне - это съем позиций с яндекса

101
Ajax reload captcha

Ajax reload captcha

В файле captchaphp я создаю gif изображения с помощью библиотеки GD и вывожу его в форме для отправки комментария к статье

104
Загрузка gif на стену группы

Загрузка gif на стену группы

есть код который публикует фото на стене, как его переделать под публикацию документа?

129