[英]Ampersand in DOMDocument in href attribute of an anchor element and UTF-8
我嘗試將一些html加載到DOMDocument php對象。 但是,它無法加載其中具有href屬性和符號的錨元素。 這是要加載的html代碼:
<p>Jaźń</p>
<p>gęślą<a href="http://example.com/?abc&def">zażółć</a></p>
<p>Hello!</p>
如您所見,URL查詢字符串中的abc
和def
之間有一個&符。 它是utf-8文字。 除非刪除與號,否則將其加載到DOMDocument會引起警告。 警告是
警告:DOMDocument :: loadHTML():htmlParseEntityRef:期待';' 在實體中,第8行在/ in / MXN5X中的第2行
在我的phpunit中,它導致錯誤。
代碼是這樣的:
<?php
$html = <<< 'WOW'
<p>Jaźń</p>
<p>gęślą<a href="http://example.com/?abc&def">zażółć</a></p>
<p>Hello!</p>
WOW;
$dom = new DOMDocument();
$dom->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8"), LIBXML_HTML_NODEFDTD);
在線版本: https : //3v4l.org/MXN5X
如何將與符號的錨元素加載到DOMDocument對象?
我有同樣的問題。 您應該使用&
而不是&,並且運行良好...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.