#php #регулярные_выражения #парсер
Имеется примерно такой текст: 1.http://example.com(example) (пробела перед http нет намеренно) 2. https://vk.com (vk) 3. И так далее Я хочу средствами php получить массив, который содержит только url адреса, без стороннего текста. Подскажите, какими методами это будет удобнее и правильнее всего сделать, хочу понять сам принцип.
Ответы
Ответ 1
Для того, чтобы вытащить все URL адреса из текста, нужно использовать регулярные выражения. Для новичка это будет не совсем легко, ну а что делать? :) array(2) { [0]=> string(18) "http://example.com" [1]=> string(14) "https://vk.com" } } Может регулярное выражение на каких-то случаях может давать неверный результат, но во многих случаях работает, более продвинутые регулярные выражения с РФ доменами и т.д. можно найти в интернете под требуемую задачу :)Ответ 2
$pattern = '%http[^>]*.com%im'; preg_match_all($pattern, $content_post, $out); В массиве $out будет вся выборка доменов. Но это при условии, что все домены в зоне *.com. Если другие зоны, то надо менять конструкцию регулярного выражения.
Комментариев нет:
Отправить комментарий