Drupal → Parser 2 и инлайновые картинки в body

23.04.2012

В Parser 2 появилась функция parser_download_images(), которая на вход принимает html код, находит в этом коде картинки (теги img), выкачивает найденные картинки на локальный сервер, исправляет src картинок и возвращает изменённый html.

Пользоваться так — в поле пост-обработка сущности пишем:

$entity_wrapper->body->value = parser_download_images(
  $entity_wrapper->body->value->value(),
  $base_url,
  'public://images'
);

Так же появилась функция parser_download_links(), которая обрабатывает ссылки (теги a):

$entity_wrapper->body->value = parser_download_links(
  $entity_wrapper->body->value->value(),
  array('jpg', 'jpeg', 'gif', 'png'),
  $base_url,
  'public://'
);
Написанное актуально для
Parser 2.x
Похожие записи

Комментарии

Николай
21.07.2013, 10:27

Спасибо за отличный модуль.Подскажите пожалуйста как можно не выкачивая картинку задать ей абсолютный адрес источника? Надо как-то дописать название домена в пути, так как на сайте источнике все пути относительные.

Николай
21.07.2013, 17:45

Спасибо, а можно кусок кода для примера что-то трудно доходит.

$text = preg_replace('#<img src="#', '<img src="названиедомена', $text);

Спасибо за возможность.
Было бы еще замечательно, если бы картинки дополнительно добавлялись в поле с картинками и в body вставлялись бы уже оттуда :-)

Можно как нибудь повлиять на названия получаемых файлов? Чтобы по шаблону они делались?

Гость
12.04.2015, 13:36

Подскажи плиз как настроить код чтоб парсил картинки спрятанные яваскриптом

Привет! Скажи в двух словах, как в Image Field картинку правильно поместить?
И второе - как скачать не все картинки, а только из одного тега?
Типа такого

<div class='saleleft'>
<a href='/upload/1390747917/1429264563_f501.jpg' rel='lightbox[64021]' class='lightbox'><img src='/upload/1390747917/1429264563_f501_thumb.jpg'></a></div>

Или я не правильно понял конструкцию $entity_wrapper->body->value? )))

как в Image Field картинку правильно поместить?

в комментариях к полю написано

как скачать не все картинки, а только из одного тега?

если речь о parser_download_images(), то никак

если речь о parser_download_images(), то никак

Ясно, но как мне ее практически использовать для добавления в поле файла?

никак. функция предназначена для другого

Добавить комментарий