Maison > développement back-end > tutoriel php > Pourquoi file_get_contents() corrompt-il les caractères spéciaux dans le HTML distant et comment puis-je y remédier ?

Pourquoi file_get_contents() corrompt-il les caractères spéciaux dans le HTML distant et comment puis-je y remédier ?

Susan Sarandon
Libérer: 2024-12-08 07:17:10
original
355 Les gens l'ont consulté

Why Does file_get_contents() Corrupt Special Characters in Remote HTML, and How Can I Fix It?

File_get_contents() interrompt le formatage XML en HTML

Lors de l'utilisation de file_get_contents() pour récupérer le contenu d'un document HTML distant, certains caractères spéciaux peuvent mauvais fonctionnement. Cela se produit principalement avec le contenu codé en UTF-8 qui implique des caractères tels que Ľ, Š, Č, Ť, Ž et autres. Au lieu de s'afficher correctement, ces caractères affichent des versions corrompues telles que Å, ¾, ¤ et des symboles absurdes similaires.

Solution :

Pour résoudre ce problème, convertissez le récupéré le contenu des entités HTML à l'aide de la fonction mb_convert_encoding(). Voici le code modifié :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sk" lang="sk">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Language" content="sk" />
<title>Test</title>

</head>
<body>

<?php

$html = file_get_contents('http://example.com');
$convertedHtml = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");
echo $convertedHtml;

?>

</body>
</html>
Copier après la connexion

En convertissant les caractères UTF-8 en leurs entités HTML correspondantes, nous garantissons le bon rendu des caractères spéciaux dans le document HTML chargé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal