- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Пожалуйста, помогите вытащить url адрес картинки с помощью $js=file_get_contents
Мой код:
$matches))
{
$n = count($matches[1]);
$html = '';
for ($i = 0; $i < $n; $i++)
{
$item->title = $matches[2][$i];
$item->url = $matches[1][$i];
Картинка в исходном коде:
Нужно что-то подобное $item->img = $matches..........;
Большое спасибо!
preg_match_all('@<img id="banner" src="(.*?)"@smi');
Я не смогу корректно вставить ваш код в
if(preg_match_all("/<a.*?href=\"(.*?)\">.*?<h2.*?>(.*?)<\/h2>/s", $js,
и вывести в $item->img = $matches..........;
но попробую...
Конечно не сможете. И даже не пробуйте. Это код не для ссылки, а для картинки, как Вы и просили.
Получается из одного запроса $js=file_get_contents одновременно ссылку, h2 и url картинки не вытянуть?
Если делать 2 $js=file_get_contents то данные будут разные, вывод рандомный, получится ссылка и h2 одни а картинка к ним другая.
Делайте 2 прегматча с одним js
preg_match_all('@<img id="banner" src="(.*?)"@smi', $matches);
print_r($matches);
не отдает url картинки
Естественно. Ведь картинка в $js, а в Вашем выражении $js отсутствует.
Сделал preg_match_all('@<img id="banner" src="(.*?)"@smi', $js, $matches);
print_r($matches[1]); выводит массив
$item->image = $matches[1]; ссылку на картинку не выводит, Array
Найдите различия:
$item->url = $matches[1][$i];
И у вас:
$item->image = $matches[1];
---------- Добавлено 21.07.2017 в 23:39 ----------
А так, да $matches[1] это массив ваших картинок.
так $matches[1][$i] ссылок нет вообще, даже Array нет, я пробовал.
---------- Добавлено 22.07.2017 в 00:51 ----------
Разобрался. Спасибо!
---------- Добавлено 22.07.2017 в 01:36 ----------
Что не так?
$js=file_get_contents("");
if(preg_match_all("/<a.*?href=\"(.*?)\">.*?<h2.*?>(.*?)<\/h2>/s", $js, $matches))
{
$n = count($matches[1]);
$html = '';
for ($i = 0; $i < $n; $i++)
{
$item->title = $matches[2][$i];
$item->url = $matches[1][$i];
if(preg_match_all('@<img id="banner" src="(.*?)"@smi', $js, $matches))
{
$n = count($matches[1]);
$html = '';
for ($i = 0; $i < $n; $i++)
{
$item->image = $matches[1][$i];
$parts_ur = parse_url($item->url);
$catalog=explode('/', $parts_ur['path']);
$last_catalog=$catalog[count($catalog)-1];
echo '<li class="page-item">';
echo '<div class="pagethumb" data-toggle="tooltip" data-placement="top" title="'.$item->title.'"><a href="/' . $last_catalog . '" target="_blank"><img data-src="'.$item->image.'" src="https://appru.net/images/loading.svg" ></a></div>';
echo '<div class="info"><h3><a href="/' . $last_catalog . '" target="_blank">'.$item->title.'</a></h3><a class="genre" href="/' . $last_catalog . '" target="_blank">Бизнес</a></div>';
echo '</li>';
}
}
}
}
?>
Теперь картинки есть но h2 и url одни и те же везде :(