Как сохранить изображение из тэга IMG?
Мне нужно получить эту картинку. Но проблема заключается в том, что она генерируется абсолютно случайно (Даже с ?rand). Какими средствами JS можно вытянуть эту картинку из DOM, а не делать запрос на сервер за картинкой?
Отслеживать
задан 29 окт 2020 в 20:41
user344683 user344683
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
const img = document.getElementById('imgid') img.onload = function() < const canvas = document.createElement('canvas') canvas.width = img.width canvas.height = img.height const ctx = canvas.getContext("2d"); ctx.drawImage(img, 0, 0); const base64 = canvas.toDataURL("image/png") >
В «base64» будет ваша картинка закодированная в base64. Формат можно поменять, например «image/jpeg». Если хотите ее скачать ну можно например так:
const a = document.createElement("a"); a.href = "data:application/octet-stream;base64," + base64; a.download = "imageName.png" a.click();
А вообще скачать можно и без канваса:
const img = document.getElementById('imgid') img.onload = function()
Интересно почитать… Блог в котором есть много интересной информации…
Для вытаскивания img тэга из HTML можно использовать очень простой код на PHP:
$html = $value['introtext']; preg_match('/]+>/i', $html, $matches); if (count($matches) > 0) < $value['image'] = $matches[0]; //print $value['image']; >
тут у нас ‘introtext’ это поле в таблице jos_content, таком образом этот код можно использовать, чтобы вытащить первую картинку из материала в Joomla.
Затем эту картинку можно вставить в компонент JMatrix, для этого в файле components/com_jmatrix/views/section/tmpl/default.php надо добавить следующую строчку:
if ($this->list[$index][article]) < $class = ""; if (in_array($this->list[$index][id], $emph1)) $class = ' '; if (in_array($this->list[$index][id], $emph2)) $class = ' '; echo " "; if ($this->show_date) echo ""; if ($this->show_category) echo "link_type) $link = JRoute::_(ContentHelperRoute::getArticleRoute($this->list[$index][slug], $this->list[$index][catslug], $this->list[$index][sectionid])); else $link = JRoute::_('index.php?view=article&catid='.$this->list[$index][catslug].'&id='.$this->list[$index][slug]); echo "".$this->list[$index][article].""; if ($this->show_author) echo "list[$index][author].""; if ($this->show_hits) echo "list[$index][hits].""; echo "". $this->list[$index][image] .""; echo "\n"; >
Основным недостатком компонента JMatrix является то, что он не дружит, например, с FrontPage, т. е. на FrontPage ссылки на материалы будут такого вида: mysite.ru/component/content/article//, вместо mysite.ru///. При том, что в настройках компонента JMatrix можно выбирать любой из этих двух вариантов:
![]()
Видимо то, какой вариант ссылки получится на FrontPage зависит от того, включает ли FrontPage в ссылку такой параметр как идентификатор меню – ItemId. В обычном рутере это делается таким образом:
$menus = &JSite::getMenu(); $myMenuItem = $menus->getActive(); $vars['Itemid'] = (int)$myMenuItem->id;
ну а FrontPage, видимо, ищет в базе меню типа content, и если находит, то добавляет его идентификатор.
Если вам тут ничего не понятно, то закройте эту страницу и почитайте статью Бытовой разум .
Как вытащить ссылки на картинки из HTML с помощью PHP
Есть задача: надо из HTML-элемента вытащить ссылки на картинки. Есть, например, код:

Уважаемые покупатели!
Мы рады представить Вам новую версию нашего сайта!
Наша задача вытащить ссылку на картинку и удалить данный HTML-тег. Используем регулярные выражения:
// объявляем массив $result = array(); // с помощью регулярного выражения из $item->introtext мы получаем массив путей $result preg_match_all('/
]*?src=\"(.*)\"/iU', $item->introtext, $result); if (isset($result[1][0])) // если не пусто, то выводим картинку < $item->img = '
'; >
Чтобы удалить картинку из переменной $item->introtext, используем следующее выражение:
$item->introtext = preg_replace( '/
]*>/', '', $item->introtext);
Как показал опыт, данное решение самое оптимальное. Работает уже на куче проектов.
HTML парсер
Парсинг HTML документа для извлечения текста и изображений. Разбор HTML на текст и изображения.
Powered by aspose.com and aspose.cloud
Developer API
Ваш файл был успешно обработан
Отправить результат в:
Image viewer
Отправить результат в:
1000 символов максимум
Обратная связь
Или оставьте, пожалуйста, отзыв в наших социальных сетях
Попробуйте другие парсеры для извлечения изображений и текстов:
Developer API
API Documentation
Desktop app
Other apps
See other apps
«HTML парсер» – это бесплатное простое онлайн приложение, которое позволяет извлекать картинки и текст из HTML документа. Такая функция крайне полезна, когда есть необходимость извлечь фотографии из документа в оригинальном формате. Рассмотрим пример: вам прислали фотоальбом в виде HTML документа, и вам необходимо извлечь все фотографии в оригинальном формате. В решении этой задачи вам поможет приложение «HTML парсер». Просто откройте страницу приложения, выберите исходный документ и нажмите кнопку «Извлечь». Ваш документ будет отправлен на сервер, и уже через несколько секунд вы получите архив, в котором будут все извлеченные данные из вашего документа.
Парсер картинок и текста из HTML документа работает онлайн через любой популярный браузер, в любой операционной системе, включая Windows, MacOs, Linux или Android. Ваши документы хранятся у нас в надежном хранилище 24 часа, а потом автоматически удаляются. Для немедленного удаления ваших документов просто нажмите кнопку «удалить» в окне скачивания результата.
- Простой способ разбора HTML документа, извлечение изображений и текста
- Извлечение данных из нескольких файлов HTML
- Разбор документов HTML
- Мгновенное скачивание или отправка файла, полученного в результате, в виде вложения в e-mail
Как распарсить HTML файл
- 1 Откройте браузер на веб-сайте бесплатного приложения и перейдите к инструменту «HTML парсер».
- 2 Кликните внутри области размещения файлов, чтобы загрузить их, или перетащите HTML файлы.
- 3 Нажмите на кнопку «ИЗВЛЕЧЬ» – файл будет автоматически загружен для парсинга.
- 4 Ссылка на скачивание будет доступна сразу после анализа файла.
- 5 Вы также можете отправить ссылку на полученные файлы как вложение на e-mail.
- 6 Обратите внимание, что файл будет удален из наших серверов через 24 часа, а ссылки для скачивания перестанут работать по истечении этого периода времени.
ЧаВо
Как я могу разобрать HTML документ?
Сначала вам нужно добавить файл для парсинга: перетащите файл HTML или щелкните внутри белой области, чтобы выбрать его. Затем нажмите кнопку «ИЗВЛЕЧЬ». Когда разбор документов HTML будет завершен, вы сможете загрузить файлы, полученные в результате.
Сколько времени нужно на разбор HTML?
Это приложение для парсинга работает быстро. Вы можете разобрать HTML за несколько секунд.
Безопасно ли анализировать HTML с помощью этого бесплатного приложения?
Конечно! Ссылка на скачивание файлов, полученных в результате, будет доступна сразу после завершения анализа документа. Мы удаляем загруженные файлы из нашего сервера через 24 часа, и ссылки для скачивания перестанут работать по истечении этого периода времени. Никто не имеет доступа к вашим файлам. Парсинг файлов абсолютно безопасен.
Можно ли анализировать HTML на MacOS, Android или Linux?
Наш «HTML парсер» работает онлайн и не требует установки дополнительного программного обеспечения.
Какой браузер мне использовать для анализа HTML?
Для анализа HTML можно использовать любой современный браузер, включая Google Chrome, Firefox, Opera, Safari.
Быстрый и легкий парсинг
Загрузите свой документ и нажмите кнопку «Извлечь». Вы получите текстовый файл или zip-файл с текстом и изображениями сразу после выполнения парсинга.
Парсинг онлайн и бесплатно
Работает со всеми операционными системами, включая Windows, MacOS, Android и iOS. Все файлы обрабатываются на наших серверах. От вас не требуется установка плагинов или дополнительного программного обеспечения.
Качественный парсинг
Все файлы обрабатываются с использованием Aspose APIs, которое используются многими компаниями из списка Fortune 100 в 114 странах мира.
Смотрите другие приложения
