여러 UTF-8 BOM 시퀀스를 효과적으로 제거하는 방법
PHP 템플릿 파일에서 원시 HTML 출력을 표시하는 데 문제가 발생하는 경우 다음을 수행하는 것이 중요합니다. UTF-8 BOM(Byte Order Mark) 시퀀스의 존재를 해결합니다. 이 문제는 Firefox가 출력을 승인할 수 없을 때 나타날 수 있습니다.
다음 PHP 코드 조각은 BOM 시퀀스를 제거하려고 시도하지만 완전히 효과적이지 않을 수 있습니다.
function fetch($name) { // ... if (substr($t, 0, 3) == b'\xef\xbb\xbf') { $t = substr($t, 3); } return $t; }
완전한 제거를 보장하려면 모든 BOM 시퀀스 중에서 다음과 같은 보다 강력한 접근 방식을 사용하는 것이 좋습니다.
function remove_utf8_bom($text) { $bom = pack('H*','EFBBBF'); $text = preg_replace("/^$bom/", '', $text); return $text; }
이 함수는 정규식(preg_replace)을 사용하여 일치합니다. 문자열 시작 부분(/^$bom/)에서 UTF-8 BOM 시퀀스의 모든 인스턴스를 제거합니다. 모든 BOM을 제거하면 Firefox 및 기타 브라우저에서 출력을 쉽게 받아들일 수 있습니다.
위 내용은 PHP 출력에서 UTF-8 BOM 시퀀스를 안정적으로 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!