Я работаю над навыком для небольшого MI-проекта на моем сайте. В настоящее время у этого MI есть навык, который позволяет ему клонировать URL, однако изображения не будут работать без подключения к Интернету, поэтому я пытаюсь обнаружить все изображения на странице, преобразовать их в base 64 и вставить их непосредственно в html
function getimages($string) {
$string = trim(preg_replace('/\s+/', ' ', $string));
$string2 = preg_replace("~src=[']([^']+)[']~e", '"src=\'" . convert_src("$1") . "\'"', $string);
return $string2;
}
function convert_src($url) {
$image = file_get_contents($url);
if ($image !== false){
return 'data:'.mime_content_type($url).';base64,'.base64_encode($image);
}
}
Если html-страница передается в getimages, она должна проходить через все элементы src и передавать их URL-адреса для convert_src, который затем должен загрузить файл в память, преобразовать в base64, а затем заменить исходный тег изображения новым закодированным base64. версия. Этого не происходит, в моих экспериментах либо вся страница возвращается пустой / пустой, URL-адреса изображений не распознаются и не обрабатываются, либо изображения полностью исчезают.
Пожалуйста, помогите, я борюсь здесь, в то же время я буду пытаться самостоятельно, но у меня очень мало опыта с функциями preg.