Sto cercando di analizzare un documento e ottenere tutti i tag immagine e cambiare la fonte per qualcosa di diverso.php DomDocument aggiunge tag extra
$domDocument = new DOMDocument();
$domDocument->loadHTML($text);
$imageNodeList = $domDocument->getElementsByTagName('img');
foreach ($imageNodeList as $Image) {
$Image->setAttribute('src', 'lalala');
$domDocument->saveHTML($Image);
}
$text = $domDocument->saveHTML();
Il $ testo appare inizialmente come questo:
<p>Hi, this is a test, here is an image<img src="http://mysite.com/beer.jpg" width="60" height="95" /> Because I like Beer!</p>
e questo è l'output $ testo:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>Hi, this is a test, here is an image<img src="lalala" width="68" height="95"> Because I like Beer!</p></body></html>
sto ricevendo un sacco di tag aggiunti (html, body e il commento in alto) di cui non ho veramente bisogno. Un modo per configurare il DOMDocument per evitare di aggiungere questi tag extra?
Grazie!
dovrebbe leggere: $ text = preg_replace ('/^ /', '', str_replace (array ('', '', '
', ''), array ('', '', ' ',' '), $ domDocument-> saveHTML())); –'preg_replace', davvero? – sglessard