Разбор строки для получения массива URL - PullRequest
1 голос
/ 14 июля 2010

Представьте, что у меня есть строка - что-то вроде этого:

This is some really cool text about http://google.com/ and it also contains some urls like http://apple.com/ and its very nice! This is too long and I need to do some magic stuff to fix this very big problem. Oh no.

Как вы можете видеть, в строке есть два URL-адреса и как-то, если мне нужен какой-то REGEX, мне нужно получить массивэти URL, чтобы я мог ими манипулировать.Как то так ...

Array()

- [0] = 'http://google.com/'
- [1] = 'http://apple.com/'

Вся помощь оценена :) Спасибо!

Ответы [ 3 ]

2 голосов
/ 14 июля 2010

Я думаю, это тоже должно работать.

$string = 'ajskldfj http://google.ca jslfkjals s http://www.apple.com jalksf';
$pattern = '/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/';
preg_match_all($pattern, $string, $matches);
2 голосов
/ 14 июля 2010
https?:\/\/[^\s]+

Найдите что-то, начинающееся с http: // или https://,, затем перетаскивайте символы, пока мы не найдем пробел.

0 голосов
/ 14 июля 2010

Вам понадобится шаблон регулярного выражения, подобный следующему:

'https?:\/\/(\w*?.)?(?P<domain>\w+).(\w+)/'
...