Ik ben bezig met een script wat het volgende moet kunnen doen:
- (html)file openen en inhoud in $string zetten
- $string lezen en bepaalde <div id="voorbeeld">..</div> (meerdere div's) er uit filteren
- Inhoud van div lezen en bijvoorbeeld: src="plaatje.jpg" vervangen door src="beterplaatje.jpg". De rest van <img /> moet hetzelfde blijven.
- Output orginele $string + bovenstaande veranderiningen echo'en..
De file wordt inmiddels ingeladen en in $theData gezet.
Nu heb ik het volgende gedaan:
// Function to select specific TAG from file
function getTag($string, $tagname, $tagid) {
$pattern = "/<$tagname class=$tagid>(.*?)<\/$tagname>/";
preg_match($pattern, $string, $matches);
if (!null==($matches)) {
return $matches[1];
} else {
//Niet aangegeven $tagid worden aan array $notUsedTags toegevoegd
global $notUsedTags;
$addthis = str_replace('"','',$tagid);
$notUsedTags[] = $addthis;
}
} //end
//Code to get info from <IMG />
$patternSrc = '/<img.*?src=([\'"])([^"\1]+)\1/i';
preg_match($patternSrc, $string, $matches);
print_r($matches);
De output is dan:
Array
(
[0] => <img src='http://www.surfstitch.com/images/catalog/live/imageLibrary/FMWHYBGU-ELEMENT-1600T.jpg'
[1] => '
[2] => http://www.surfstitch.com/images/catalog/live/imageLibrary/FMWHYBGU-ELEMENT-1600T.jpg
)
Ik wil behoorlijk wat data "on-the-fly" vervangen. Niet alleen data in <IMG /> Wat is nu handig? Gebruik maken van bovenstaande code in soortgelijke vorm of het compleet anders aan te pakken en bijvoorbeeld direct preg_replace te gebruiken?
Snelheid is niet een grote issue, wel stabiliteit.
Heeft iemand hier goede ideeën over? Alvast bedankt voor de moeite..!