Hallo,
ich hab folgendes Problem: Ich lese eine HTML-Datei ein und möchte nun in bestimmten IMG-Tags die Breite ändern. Im Klartext:
Es soll bei allen IMG-Tags, die mit <img src="../images/b5.gif" beginnen, width="9" durch width="10" ersetzt werden. Das Problem dabei ist, dass zwischen src und width noch weitere Angaben stehen können, oder eben auch nicht.
Ich hätte mir das so überlegt:
Aber das funktioniert natürlich nicht, weil ich ja beim zweiten Argument von preg_replace keinen regulären Ausdruck schreiben kann. Wie könnte man das lösen?
Vielen Dank im Voraus
Johannes
ich hab folgendes Problem: Ich lese eine HTML-Datei ein und möchte nun in bestimmten IMG-Tags die Breite ändern. Im Klartext:
Es soll bei allen IMG-Tags, die mit <img src="../images/b5.gif" beginnen, width="9" durch width="10" ersetzt werden. Das Problem dabei ist, dass zwischen src und width noch weitere Angaben stehen können, oder eben auch nicht.
Ich hätte mir das so überlegt:
PHP-Code:
$fp = fopen($file,"r+") or die("Konnte die Datei $file nicht öffnen!");
$content = fread($fp,filesize($file));
$regex = '/<img src="\.\.\/images\/b5\.gif"(.*?)width="9" height="10"(.*?)>/ims';
$new_content = preg_replace($regex,'<img src="../images/b5.gif"(.*?)width="10" height="10"(.*?)>',$content);
rewind($fp);
fwrite($fp,$new_content);
ftruncate($fp,ftell($fp));
fclose($fp);
Vielen Dank im Voraus
Johannes
Kommentar