$string = file_get_contents('http://example.com');
if ('UTF-8' === mb_detect_encoding($string)) {
$dom = new DOMDocument();
// hack to preserve UTF-8 characters
$dom->loadHTML('<?xml encoding="UTF-8">' . $string);
$dom->preserveWhiteSpace = false;
$dom->encoding = 'UTF-8';
$body = $dom->getElementsByTagName('body');
echo htmlspecialchars($body->item(0)->nodeValue);
}
Bu, tüm UTF-8 karakterlerini Å, ¾, ¤ ve diğer çöplere değiştirir. UTF-8 karakterlerini korumak için başka bir yolu var mı?DOM Neden Kodlamayı Değiştiriyor?
Bana UTF-8 olarak çıktıklarıma emin olmam gerektiğini söyleyen yanıtlar göndermeyin, emin olun. peşin
Teşekkür :)
verileri ('$ string') geliyor: –
Sorumu güncelledim :) –
Dosya_get_contents() kullanarak getirdiğiniz URL'ye bir bağlantı sağlayabilir misiniz? Diğer soruda da söylediğim gibi, ISO-8859-1 veya başka bir veri aldığınızdan şüpheleniyorum. Bu, UTF-8'de çıktığında * bozulacak *. Ben mb_detect_encoding() 'ye güvenmeyeceğim. –