есть массив, в нем есть текст в котором находятся ссылки, и есть просто текст.
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'] в которых есть и ссылка и текст.
порешал
$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];
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости