У меня есть следующая строка:
$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") }
Проблема: длина меняется, есть «странные» -> * $? символы в нем и т.д ...
Можете ли вы объяснить, как это исправить?
Попробуйте , следующее за регулярным выражением :
"http:\/\/i.imgur.com\/([^"]+)"
Также см. Документацию php по preg_match_all, чтобы извлечь снимки.
preg_match_all
$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]);