我想使用PHP DOMDocument在<body></body>
內追加<img src="" alt="" >
。需要使用PHP DOMDocument添加HTML圖像的幫助
下面是代碼:
$testcode ='<!DOCTYPE html><html><head><title></title></head><body></body></html>';
$dom = new DOMDocument;
$dom->loadHTML($testcode);
$img_tag = $dom->createDocumentFragment();
$img_tag->appendXML('<img src="http://www.somesite.com/" alt="" >');
$body = $dom->getElementsByTagName('body');
foreach($body as $node) {
$node->appendChild($img_tag);
}
echo $dom->saveHTML();
我得到這個錯誤:
Message: DOMNode::appendChild(): Document Fragment is empty
但很少有人實驗後,我想通了,它期待的結束標記。所以這個代碼工作正常:
<img src="http://www.somesite.com/" alt="" ></img>
最後附加標籤看起來不錯。它會自動刪除結束標籤。
<img src="http://www.somesite.com/" alt="" >
問題:爲什麼我們必須爲此使用閉合標籤?它並不那麼明顯。
另一個問題: 添加URL參數會觸發上述相同的錯誤。
<img src="http://www.somesite.com/?v=1¶m=4" alt="" >
再次經過幾次試驗後,當URL被編碼時它的工作正常。它再次不是那麼明顯。
問題:如何以簡單的方式添加圖像標籤,而無需執行上述操作。
其實我正在寫郵件應用程序,我只是想在最後插入谷歌分析電子郵件開放跟蹤代碼。例如:
<img src="http://www.google-analytics.com/collect?v=1&t=event" alt="" >
編碼網址的問題是它沒有跟蹤任何內容。
在此先感謝!
「htmlentities」確實解決了這個問題。謝謝! – Laraveldeep