Sample code for 30+ languages & platforms
Perl

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

Perl
use chilkat();

$success = 0;

$sb = chilkat::CkStringBuilder->new();
$bd = chilkat::CkBinData->new();
$sbFilename = chilkat::CkStringBuilder->new();
$index = 1;

$success = $sb->LoadFile("qa_data/html/oresp body.txt","utf-8");
# Assume success.
print "length = " . $sb->get_Length() . "\r\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->get_LastMethodSuccess();

    if ($sb->get_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." . "\r\n";