您好,我使用简单的php
解析器来保存外部服务器的imgs ...所以我想得到一张正常src
的图片
但它似乎低于img
元素有一个异常src
...
是否有将此代码转为普通src
或者至少先将其保存在我的服务器中?
注意:src
中的文字太长了...超过170000个字符...我删除了大部分内容以插入此处以显示...
<img style="display: block; margin-left: auto; margin-right: auto;" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgBZQJ2AwERAAIRAQMRAf/EANcAAAAFBQEAAAAAAAAAAAAAAAIDBAgJAQUGBwoAAQAABgMBAQAAAAAAAAAAAAACAwQFBgcAAQgJChAAAQMCBAQEAwUFBQQFCQQLAQIDBBEFACESBjFBEwdRYSIIcRQJgZGhMhWxwdFCI/DhUjMW8WJyJJKistIXgkNTdLQldTcYwo1J+AH8U2v8uqLpH6v5jprx0gEfAaySD8RiOkWfmihfp9w/igf0u9f//Z" alt="">
答案 0 :(得分:1)
复制base64,
之后的所有src文本,并使用php的base64_decode
函数对其进行解码。在那里,如果你愿意,你可以将它写入jpg文件。
答案 1 :(得分:1)
<?php
echo base64_encode(file_get_contents("../images/folder16.gif"))
?>
您可以使用PHP函数来获取图像编码。 请参阅此工作示例:
<?php
$img = base64_encode(file_get_contents("https://www.google.co.in/images/srpr/logo11w.png"));
echo "<img src='data:image/gif;base64,".$img."' />";
?>
答案 2 :(得分:-1)
按照以下步骤
<?php
// [1] Prepare your page HTML content
$html = '<img src="data:image/png;base64,image_[1]_valid_base_64_encoded_string">';
$html .= '<img src="data:image/gif;base64,image_[2]_valid_base_64_encoded_string">';
$html .= '<img src="data:image/jpeg;base64,image_[3]_valid_base_64_encoded_string">';
$html .= '<img src="data:image/jpg;base64,image_[4]_valid_base_64_encoded_string">';
// [2] Get all src attributes
$xpath = new DOMXPath(@DOMDocument::loadHTML($html));
$src = $xpath->evaluate("//img/@src");
// [3] Loop src attributes and push image info to $images arary
$images = array();
foreach ($src as $attr)
{
$data = explode('/', $attr->value);
$data = str_replace(';', ',', $data[1]);
list($extension, $type, $encoded_string) = explode(',', $data);
// push to images array
$images[] = array(
'extension' => strtolower($extension),
'image_base64' => $encoded_string,
);
}
// results
echo '<pre>';
print_r($images);
echo '</pre>';
// [4] Move images to directory
// @file_put_contents("path/to/dir/image_name.$extension", base64_decode($encoded_string));
// print_r($ images)output
Array
(
[0] => Array
(
[extension] => png
[image_base64] => image_[1]_valid_base_64_encoded_string
)
[1] => Array
(
[extension] => gif
[image_base64] => image_[2]_valid_base_64_encoded_string
)
[2] => Array
(
[extension] => jpeg
[image_base64] => image_[3]_valid_base_64_encoded_string
)
[3] => Array
(
[extension] => jpg
[image_base64] => image_[4]_valid_base_64_encoded_string
)
)