Страницы

Поиск по вопросам

четверг, 23 января 2020 г.

Как можно поместить url адреса из строки в массив?

#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. Если другие зоны, то надо менять конструкцию регулярного выражения.

Комментариев нет:

Отправить комментарий