• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Вывод первого изображения - не всегда первое...

DMax

Гуру форума
Регистрация
11 Июн 2014
Сообщения
252
Реакции
54
Здравствуйте уважаемые друзья!
Столкнулся с такой проблемой
Этот код должен выводить первое изображение с поста.
Все изображения в теле поста загружены с сторонних ресурсов.
Данный код в некоторых постах выводит Первое изображение а в некоторых пропускает первое и выводит уже второе по счету.
Вопрос: В чем проблема, почему одни изображения выводятся а другие пропускаются, img вроде бы одинаковый...
PHP:
// Вывод первой картинки с поста
function bloggood_ru_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); // выдираем первый имагес
  $first_img = $matches [1] [0];
// Если картинка в посте отсутствует, тогда выводим изображение по умолчанию (указать путь и имя к картинке)
  if(empty($first_img)){
   $first_img = get_template_directory_uri() . '/images/nothumb-298x248.png';
  }
  return $first_img;
}
 
В чем проблема, почему одни изображения выводятся а другие пропускаются, img вроде бы одинаковый...
Уверены что одинаковый? Нет дополнительных параметров у пропущенных изображений?
 
  • Нравится
Реакции: DMax
Уверены что одинаковый? Нет дополнительных параметров у пропущенных изображений?
Я смотрю и не нахожу чего-то не обычного
Вот
HTML:
<p><a rel="nofollow" class="modal external" href="https://fxmedia.s3.amazonaws.com/articles/2016-07-14_GBP_H4.jpg" target="_blank"><img src="https://fxmedia.s3.amazonaws.com/articles/2016-07-14_GBP_H4.jpg"></a></p>

<p><a rel="nofollow" class="modal external" href="https://fxmedia.s3.amazonaws.com/articles/2016-07-14_GBP_H1.jpg" target="_blank"><img src="https://fxmedia.s3.amazonaws.com/articles/2016-07-14_GBP_H1.jpg"></a></p>

<p><a rel="nofollow" class="modal external" href="https://fxmedia.s3.amazonaws.com/articles/2016-07-14_USDJPY_H4.jpg" target="_blank"><img src="https://fxmedia.s3.amazonaws.com/articles/2016-07-14_USDJPY_H4.jpg"></a></p>

<p><a rel="nofollow" class="modal external" href="https://fxmedia.s3.amazonaws.com/articles/2016-07-14_Nikkey_225.jpg" target="_blank"><img src="https://fxmedia.s3.amazonaws.com/articles/2016-07-14_Nikkey_225.jpg"></a></p>
Как по мне, так они друг от друга ничем не отличаются...
В этом примере, выводится последняя картинка...
 
Загони код страницы, откуда скрипт получает контент в любой анализатор регулярок и прогони свою регулярку
Код:
/<img.+src=[\'"]([^\'"]+)[\'"].*>/i
на разных страницах.
и смотри, какую картинку регулярка будет считать первой
как понимаю у вас используется модификация вот этого кода
Для просмотра ссылки Войди или Зарегистрируйся

попробуй вот такой вариант
Код:
/<\s*img[^>]*src=[\"|\'](.*?)[\"|\'][^>]*\/*>/i
это отсюда
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
Загони код страницы, откуда скрипт получает контент в любой анализатор регулярок и прогони свою регулярку
Код:
/<img.+src=[\'"]([^\'"]+)[\'"].*>/i
на разных страницах.
и смотри, какую картинку регулярка будет считать первой
как понимаю у вас используется модификация вот этого кода
Для просмотра ссылки Войди или Зарегистрируйся

попробуй вот такой вариант
Код:
/<\s*img[^>]*src=[\"|\'](.*?)[\"|\'][^>]*\/*>/i
это отсюда
Для просмотра ссылки Войди или Зарегистрируйся
огромное спасибо, все работает, во всех новостях берется только первое изображение)
 
Назад
Сверху