@midarovrk

Как сделать вывод только первой строки в php foreach?

У меня есть php код который выдирает со страницы все ссылки на изображения:
<?php
$content = file_get_contents('http://site.ru');
preg_match_all('/<img[^>]+src="?\'?([^"\']+)"?\'?[^>]*>/i', $content, $images, PREG_SET_ORDER);
foreach ($images as $image) {
    echo $image[1] . '<br>';
}
?>

Вот пример: c11634.shared.hc.ru/cmxrd4.php

Как сделать чтобы на странице отображалась только первая строчка? Т.е. только первое изображение, остальные не нужны.
  • Вопрос задан
  • 496 просмотров
Решения вопроса 1
keslo
@keslo
В этом случае можно обойтись без foreach?
echo $images[0][1]. '<br>';
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
R0dger
@R0dger
Laravel/Yii/2 AngularJs PHP RESTful API
if (isset($images[0])) {
echo $images[0] . '<br>';
}
Ответ написан
@VisualIdeas
Если вам критично сохранить ваш код, то просто сделайте так:
<?php
$content = file_get_contents('http://site.ru');
preg_match_all('/<img[^>]+src="?\'?([^"\']+)"?\'?[^>]*>/i', $content, $images, PREG_SET_ORDER);
foreach ($images as $image) {
    echo $image[1] . '<br>';
    break;
}
?>
Ответ написан
Комментировать
customtema
@customtema
arint.ru
$first_item = array_shift($list);

Корректно, потому что вне зависимости от индекса первого элемента массива (нулевого элемента может и не быть, например в результате его намеренного удаления).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы