PHP DOMDocument loadHTML이 UTF-8을 올바르게 인코딩하지 않음
문제:
HTML을 구문 분석할 때 PHP의 DOMDocument::loadHTML(), UTF-8 사용 문자가 올바르게 해석되지 않아 왜곡된 출력이 발생합니다.
원인:
DOMDocument는 입력 문자열이 기본적으로 ISO-8859-1 인코딩으로 가정합니다. 그러나 UTF-8은 HTML5에서 일반적으로 사용됩니다. 인코딩을 지정하지 않고 UTF-8 문자열을 로드하면 DOMDocument가 해당 문자열을 잘못 해석합니다.
해결책:
이 문제를 해결하려면 입력에 대한 올바른 인코딩을 지정해야 합니다. 끈. 여러 가지 옵션이 있습니다.
예:
이 코드는 mb_encode_numericentity() 함수 사용을 보여줍니다.
$profile = '<p>イリノイ州シカゴにて、アイルランド系の家庭に</p>'; $dom = new DOMDocument(); $dom->loadHTML(mb_encode_numericentity($profile, [0x80, 0x10FFFF, 0, ~0], 'UTF-8')); echo $dom->saveHTML();
이러한 기술을 사용하면 UTF-8 문자가 올바르게 구문 분석되고 표시되는지 확인할 수 있습니다. PHP DOMDocument에 있습니다.
위 내용은 내 PHP DOMDocument::loadHTML()이 UTF-8을 올바르게 처리하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!