Удалите теги img src и оставьте данные base64 (скриншот из текстового редактора)

В настоящее время я вставляю скриншоты (через текстовый редактор) в базу данных, и поэтому строка, которая вставляется в БД, выглядит следующим образом:

<img src="data:image/png;base64, [BASE64 STRING]" alt="">

Я пытаюсь раздеть <img src=" and " "alt=""> так что я просто остался с data:image/png;base64, [BASE64 STRING] так что я могу манипулировать, как изображение будет отображаться на другом конце.

К сожалению, изображения должны быть вставлены в виде скриншота через текстовую область, поэтому выгрузка изображений / сохранение их в другом месте и сохранение места не вариант.

Возможно ли удалить все, кроме данных base64, до вставки БД или при получении изображения, если нет?

До сих пор я играл с preg_replace и strip_tags, похожими на приведенные ниже, но безрезультатно.

echo preg_replace('/<(\s*)img[^<>]*>/i', '', $screenshot);
echo strip_tags($screenshot, '<img>');

так далее

где $ screenshot — это запрос для извлечения всей строки из базы данных.

В конечном счете, я хочу иметь возможность отображать изображение во всплывающем окне или аналогичном, и для этого мне нужен необработанный грим для изображений base64, однако при вставке снимка экрана в текстовое поле (с текстовым редактором) теги уже включены и поэтому передаются в дБ.

Любая помощь или руководство будут с благодарностью!

0

Решение

использование preg_match, это регулярное выражение возьмет SRC.

$img = '<img src="data:data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7" alt="">';
preg_match('/< *img[^>]*src *= *["\']?([^"\']*)/i', $img, $matches);
var_dump($matches);

array(2) {
[0]=>
string(325) "<img src="data:data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7"[1]=>
string(315) "data:data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7"}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector