Sử dụng PHP5 (cgi) để xuất tệp mẫu từ hệ thống tệp và gặp sự cố khi loại bỏ HTML thô.Làm thế nào để loại bỏ nhiều chuỗi UTF-8 BOM trước "<!DOCTYPE>"?
private function fetch($name) {
$path = $this->j->config['template_path'] . $name . '.html';
if (!file_exists($path)) {
dbgerror('Could not find the template "' . $name . '" in ' . $path);
}
$f = fopen($path, 'r');
$t = fread($f, filesize($path));
fclose($f);
if (substr($t, 0, 3) == b'\xef\xbb\xbf') {
$t = substr($t, 3);
}
return $t;
}
Mặc dù tôi đã thêm bản sửa lỗi BOM Tôi vẫn gặp sự cố khi Firefox chấp nhận. Bạn có thể xem bản sao trực tiếp tại đây: http://ircb.in/jisti/ (và tệp mẫu tôi đã ném tại http://ircb.in/jisti/home.html nếu bạn muốn kiểm tra)
Bất kỳ ý tưởng nào để khắc phục sự cố này? o_o
tập tin utf8 không nên có một BOM, nếu soạn thảo của bạn đưa những người trong, cần có một cấu hình để bỏ qua những, nếu soạn thảo của bạn sẽ không cho phép bạn không đặt trong BOM, thay thế trình soạn thảo của bạn. –
vâng. Tôi sử dụng n + +, và tôi đã thử mà không có BOM – sheppardzw