Noch nicht viel geschrieben
Nabend zusammen,
ich versuche gerade in einer HTML Datei die Pfade im Style Attribut via PHP Script anzupassen.
Zum Einlesen der HTML Datei nutze ich
Dann wandle ich den Inhalt zu einem SimpleXMLElement
Dann suche ich mir das Attribut raus welches geändert werden soll.
Aus dem resultierendem Array explodiere und suche dann nach dem entsprechenden Style Attribut. Hab ich dieses gefunden überschreibe ich den Value des Attributes und gebe es zurück ins Array.
Funktioniert bis hierher auch soweit. Mein Problem ist nun wie bekomme ich dieses Attribut wieder zurück in mein SimpleXMLElement und speichere meine HTML Datei mit den geänderten Werten?
Ich habe es folgendermaßen versucht. Doch das funktioniert so nicht.
Ich stehe gerade total auf dem Schlauch und komm da nicht weiter.
Weiß zufällig jemand wie ich weiter vorgehen muss?
Besten Dank im voraus für eure Mühe und beste Grüße
CP
ich versuche gerade in einer HTML Datei die Pfade im Style Attribut via PHP Script anzupassen.
Zum Einlesen der HTML Datei nutze ich
Code:
$doc = new DOMDocument();
$doc->strictErrorChecking = false;
$doc->loadHTMLFile($htmltmpfilename);
Code:
$xml = simplexml_import_dom($doc);
Aus dem resultierendem Array explodiere und suche dann nach dem entsprechenden Style Attribut. Hab ich dieses gefunden überschreibe ich den Value des Attributes und gebe es zurück ins Array.
Code:
$picarray = array();
$picarray = explode(';', $xml->body->div->attributes()->style);
$tmpArray = array();
foreach($picarray as $pic)
{
if(stristr($pic, 'background-image'))
{
foreach($imgarray as $img)
{
$image = explode(':', $pic);
$imgFilename = pathinfo($img);
$imgFilename = $imgFilename['filename'];
$picname = pathinfo($image[1]);
if($picname['filename'] == $imgFilename)
{
$imgLink = "url('$picname['filename']')";
$image[1] = $imgLink;
$pic = implode(':', $image);
}
}
}
$tmpArray[] = $pic;
}
Ich habe es folgendermaßen versucht. Doch das funktioniert so nicht.
Code:
$xml->body->div->addAttribute('style', implode(";", $tmpArray));
$newHtml = dom_import_simplexml($xml); //newHtml ist ein leeres DomElement Objekt.
//Und hier mein Problem wie speichere ich es nun korrekt wieder als HTML Datei
$doc->saveHTMLFile($htmlfilename);
Weiß zufällig jemand wie ich weiter vorgehen muss?
Besten Dank im voraus für eure Mühe und beste Grüße
CP