PHP: получить несколько строк между - PullRequest
1 голос
/ 07 марта 2011

У меня есть следующая строка:

$string = '"http://i.stack.imgur.com/?oapQok.png" blabla "http://i.stack.imgur.com/p9*xp.png" blabla "http://i.stack.imgur.com/papsyewxp.jpg"'

Теперь я хочу получить следующее:

array(3) {
  [0] => string("?oapQok.png")
  [1] => string("p9*xp.png")
  [2] => string("papsyewxp.jpg")
}

Проблема: длина меняется, есть «странные» -> * $? символы в нем и т.д ...

Можете ли вы объяснить, как это исправить?

Ответы [ 2 ]

3 голосов
/ 07 марта 2011

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

"http:\/\/i.imgur.com\/([^"]+)"

Также см. Документацию php по preg_match_all, чтобы извлечь снимки.

1 голос
/ 07 марта 2011
$string = '"http://i.stack.imgur.com/?oapQok.png" blabla "http://i.stack.imgur.com/p9*xp.png" blabla "http://i.stack.imgur.com/papsyewxp.jpg"';

$matches = array();
preg_match_all('/"http:\/\/i.imgur.com\/([^"]+)"/', $string, $matches);

var_dump($matches[1]);
...