PHP ActiveX
PHP ActiveX
Extract data:image/png;base64 from HTML
See more Base64 Examples
Demonstrates how to extract base64 image data from HTMl and save to files.Chilkat PHP ActiveX Downloads
<?php
$success = 0;
$sb = new COM("Chilkat.StringBuilder");
$bd = new COM("Chilkat.BinData");
$sbFilename = new COM("Chilkat.StringBuilder");
$index = 1;
$success = $sb->LoadFile('qa_data/html/oresp body.txt','utf-8');
// Assume success.
print 'length = ' . $sb->Length . "\n";
$mayHaveMore = 1;
while ($mayHaveMore == 1) {
// Get the base64 between the 1st occurrence "data:image/png;base64," and "'"
$sBase64 = $sb->getBetween('data:image/png;base64,',''');
// If nothing is found, then we'll exit the loop because there are no more.
$mayHaveMore = $sb->LastMethodSuccess;
if ($sb->LastMethodSuccess == 1) {
// Found something.
// Load into bd and save.
$success = $bd->LoadEncoded($sBase64,'base64');
$sbFilename->SetString('qa_output/png_');
$sbFilename->AppendInt($index);
$sbFilename->Append('.png');
$bd->WriteFile($sbFilename->getAsString());
// Replace "data:image/png;base64" with "data:image-png;base64" so the next iteration finds the next occurrence.
$sb->ReplaceFirst('data:image/png;base64','data:image-png;base64');
}
$index = $index + 1;
}
// Restore our replacements..
$count = $sb->Replace('data:image-png;base64','data:image/png;base64');
print 'All done.' . "\n";
?>