Bonjour à tous
Je suis en train d'écrire en PHP un programme d'administration du site qui permette d'effectuer des modifications sur l'ensemble des 1000 pages HTML lorsque cela est nécessaire
La logique de ce programme est la suivante:
1) charger le fichier HTML dans un objet DOMDocument par le code suivant:
(error_reporting, car la fonction loadHTMLFile() envoie des warning sur les balises HTML5)
2) effectuer des modifications sur le DOM
3) écrire le résultat par le code
(on ne peut pas utiliser directement $dom -> saveHTMLFile() car cette fonction transforme les caractères UTF-8 en entités html
Cette structure de programme fonctionne de façon satisfaisante, mais je viens de décourir par hasard le phénomène suivant:
Le fichier origine contient des caractères • [•] exprimés sous la forme •
Lorsque j'examine le DOM, ces caractères sont transformés un caractère qui s'affiche ? et en regardant le code de ce caractère, sa valeur est 194 et non 149
Auriez vous une idée sur les raisons de ce phénomène?
Merci pour vos avis
Je suis en train d'écrire en PHP un programme d'administration du site qui permette d'effectuer des modifications sur l'ensemble des 1000 pages HTML lorsque cela est nécessaire
La logique de ce programme est la suivante:
1) charger le fichier HTML dans un objet DOMDocument par le code suivant:
$tdom = new DOMDocument('1.0', 'utf-8');
$errorReporting = error_reporting(E_ALL & ~E_WARNING);
$dom -> loadHTMLFile($filePath);
error_reporting($errorReporting);
(error_reporting, car la fonction loadHTMLFile() envoie des warning sur les balises HTML5)
2) effectuer des modifications sur le DOM
3) écrire le résultat par le code
$htmlText = "<!DOCTYPE html>\n" . $dom -> saveHTML($dom -> documentElement);
file_put_contents($filePath, $htmlText);
(on ne peut pas utiliser directement $dom -> saveHTMLFile() car cette fonction transforme les caractères UTF-8 en entités html
Cette structure de programme fonctionne de façon satisfaisante, mais je viens de décourir par hasard le phénomène suivant:
Le fichier origine contient des caractères • [•] exprimés sous la forme •
Lorsque j'examine le DOM, ces caractères sont transformés un caractère qui s'affiche ? et en regardant le code de ce caractère, sa valeur est 194 et non 149
Auriez vous une idée sur les raisons de ce phénomène?
Merci pour vos avis