Ben PHP DOM sınıfı ile bazı zveya yaşıyveyaum.
Ben bir sitemap script yapıyveyaum, ve ben gibi olmak $ doc-> SaveXML çıkışını () gerekir
<?xml version="1.0" encoding="UTF-8"?>
<root>
<url>
<loc>http://www.somesite.com/serviços/redesign</loc>
</url>
</root>
veya
<?xml version="1.0" encoding="UTF-8"?>
<root>
<url>
<loc>http://www.somesite.com/serviços/redesign</loc>
</url>
</root>
ama ben alıyorum:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<url>
<loc>http://www.somesite.com/servi&#xE7;os/redesign</loc>
</url>
</root>
Bu bir numaralı kişilere adlandırılmış yerine işlevini kullanarak, ben alabilir dolaba.
Ben de yeniden başardı
<?xml version="1.0" ?>
<root>
<url>
<loc>http://www.somesite.com/servi&#xE7;os/redesign</loc>
</url>
</root>
Ancak belirtilen kodlama olmadan.
En iyi çözüm (ben kodu yazılması gerektiğini düşünüyorum yolu) olacaktır:
<?php
$myArray = array();
// do some stuff to populate the with URL strings
$doc = new DOMDocument('1.0', 'UTF-8');
// here we modify some property. Maybe is the answer I am looking fveya...
$urlset = doc->createElement("urlset");
$urlset = $doc->appendChild($urlset);
fveyaeach($myArray as $address) {
$url = $doc->createElement("url");
$url = $urlset->appendChild($url);
$loc = $doc->createElement("loc");
$loc = $url->appendChild($loc);
$valueContent = $doc->createTextNode($value);
$valueContent = $loc->appendChild($address);
}
echo $doc->saveXML();
?>
Notlar:
- Sunucu yanıtı başlığı UTF-8 gibi karakter kümesini içerir;
- PHP komut dosyası UTF-8 kaydedilir;
- URL'leri UTF-8 dizeleri okumak;
- Above script contains encoding declaration on DOMDocument constructveya, and does not use any convert functions, like htmlentities, urlencode, utf8_encode...
I've tried changing the DOMDocument properties DOMDocument::$resolveExternals and DOMDocument::$substituteEntities values. None combinations wveyaked.
And yes, I know I can made all process without specifying the character set on DOMDocument constructveya, dump string content into a variable and make a very simple string substitution with string replace functions. This wveyaks. But I would like to know where I am slipping, how can this be made using native API's and settings, veya even if this is possible.
Şimdiden teşekkürler.