Всем добрый день! Как правильно составить регулярку, пробовал, но не получается то, что нужно. Есть много текста вида
"rwrwerw rewrwr http://www.site1.com rewrwrw rewrewrwe needword rewrewrewrwe fdsfasfafdsa http://www.site2.com fdsafsafdsafsaf rewrewrew rewrewrewrwe fdsfasfafdsa http://www.site3.com fdsafsafdsafsaf rewrewrew"
Как можно разбить текст разделителем по слову "http://www.site.com" регуляркой с сохранением содержимого регулярки. Или найти/вернуть куски текста "http://www.site.com fdsfsaf fdsfsaf" включающие http://www.site.com в начале, но исключающие следующий http://www.site.com. Следующий http://www.site.com будет со своим последующим текстом. Перепробовал кучу вариантов, но что-то не получается. Такой вариант вроде подходит
~((?:http|https)://.?)(?=[\s]+).?(?=(?:http|https))~is
Но preg_match_all возвращает подстроки с site1 и site2, а блок текста с site3 не возвращает
$str = 'rwrwerw rewrwr http://www.site1.com rewrwrw rewrewrwe needword rewrewrewrwe fdsfasfafdsa http://www.site2.com fdsafsafdsafsaf rewrewrew rewrewrewrwe fdsfasfafdsa http://www.site3.com fdsafsafdsafsaf rewrewrew';
$patt = '~https?://.+?(?=https?|$)~';
preg_match_all($patt, $str, $arr);
var_dump($arr);
Результат:
array (size=1)
0 =>
array (size=3)
0 => string 'http://www.site1.com rewrwrw rewrewrwe needword rewrewrewrwe fdsfasfafdsa ' (length=74)
1 => string 'http://www.site2.com fdsafsafdsafsaf rewrewrew rewrewrewrwe fdsfasfafdsa ' (length=73)
2 => string 'http://www.site3.com fdsafsafdsafsaf rewrewrew' (length=46)
Возможно, не самая красивая реализация, но
(https?:\/\/.+?)\s+((?:.(?!https?:\/\/))*)
(https?:\/\/.+?)
адрес сайта
((?:.(?!https?:\/\/))*)
текст после адреса до http
или https
(исключая последний пробел)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
jQeury плагин собирает файлы (один или несколько) из формы и отправляет на сервер вот в таком виде:
Сохраняю с CSV файла в векторПосле этого нужно вывести 5 случайных людей:
Пытаюсь освоить pocoНо сбрасывается соединение к локальному хосту