Sample code for 30+ languages & platforms
PHP Extension

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 Extension Downloads

PHP Extension
<?php

include("chilkat.php");

$success = false;

$sb = new CkStringBuilder();
$bd = new CkBinData();
$sbFilename = new CkStringBuilder();
$index = 1;

$success = $sb->LoadFile('qa_data/html/oresp body.txt','utf-8');
// Assume success.
print 'length = ' . $sb->get_Length() . "\n";

$mayHaveMore = true;
while ($mayHaveMore == true) {

    // 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->get_LastMethodSuccess();

    if ($sb->get_LastMethodSuccess() == true) {
        // 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";

?>