DOMDocument kodlama problemleri / karakter değiştirdi

0 Cevap php

Ben o sayfanın çıktısını alır önce değiştirmek / HTML işlemek için DOMDocument kullanıyorum. Bu yalnızca bir html fragmanı değil, tam bir sayfasıdır. Benim ilk sorun tüm Fransız karakter biraz deneme-yanılma sonra düzeltmek mümkün olduğu kadar berbat var olduğunu. 'Karakteri dönüşmüş olur: Şimdi, sadece tek bir sorun olmaya devam etmektedir görünüyor? .

Kodu:

<?php
    $dom = new DOMDocument('1.0','utf-8');
         $dom->loadHTML(utf8_decode($row->text));

         //Some pretty basic modification here, not even related to text

         //reinsert HTML, and make sure to remove DOCTYPE, html and body that get added auto.
         $row->text = utf8_encode(preg_replace('/^<!DOCTYPE.+?>/', '', str_replace( array('<html>', '</html>', '<body>', '</body>'), array('', '', '', ''), $dom->saveHTML())));
?>

Ben utf8 decode / encode ile dağınık oluyor biliyorum, ama bu o kadar işe yapabilirdiniz tek yoludur. İşte bir örnek dize:

Input : Sans doute parce qu’il vient d’atteindre une date déterminante dans son spectaculaire cheminement

Output : Sans doute parce qu?il vient d?atteindre une date déterminante dans son spectaculaire cheminement

Ben daha fazla ayrıntı bulursanız, ben onları ekleyeceğiz. Zaman ve destek için teşekkür ederiz!

0 Cevap