Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PHP ActiveX) Extract data:image/png;base64 from HTMLDemonstrates how to extract base64 image data from HTMl and save to files.
<?php // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.StringBuilder') $sb = new COM("Chilkat.StringBuilder"); // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.BinData') $bd = new COM("Chilkat.BinData"); // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.StringBuilder') $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"; ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.