File_get_contents()가 HTML의 XML 형식을 깨뜨림
file_get_contents()를 사용하여 원격 HTML 문서에서 콘텐츠를 검색할 때 일부 특수 문자가 발생할 수 있습니다. 부조. 이는 주로 Ľ, Š, cz, Ť, Ž 등과 같은 문자가 포함된 UTF-8로 인코딩된 콘텐츠에서 발생합니다. 이러한 문자는 올바르게 렌더링되는 대신 Å, ¼, ¤ 및 유사한 무의미한 기호와 같은 손상된 버전을 표시합니다.
해결책:
이 문제를 해결하려면 mb_convert_encoding() 함수를 사용하여 콘텐츠를 HTML 엔터티로 검색했습니다. 수정된 코드는 다음과 같습니다.
<!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>
UTF-8 문자를 해당 HTML 엔터티로 변환하여 로드된 HTML 문서에서 특수 문자가 올바르게 렌더링되도록 합니다.
위 내용은 file_get_contents()가 원격 HTML의 특수 문자를 손상시키는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!