2017-10-19 5 views
0

Gulp에서 PHP 파일을 검색하고 include 및 require 문을 인라인 HTML 스 니펫에 처리하는 php-include-html이라는 Gulp 플러그인을 만들었습니다. Windows에서 Gulp로 HTML 인코딩 발생

gulpfile의 조각은 다음과 같습니다

...

var gulp = require("gulp"); 
 
var pump = require("pump"); 
 
var phpinc = require("php-include-html"); 
 

 
gulp.task("php",function(cb) { 
 
    pump([ 
 
    gulp.src("*.php"), 
 
    phpinc({verbose:true}), 
 
    gulp.dest("build") 
 
    ],cb); 
 
});
는 ... 처리하기 전에 PHP 파일의 코드 조각입니다

<!DOCTYPE html> 
 
<html lang="en-gb"> 
 
    <head> 
 
    <title>Emma Malik's Official Website - Legal</title>

그리고 여기가

당신이 볼 수 있듯이

<!DOCTYPE html> 
 
<html lang="en-gb"> 
 
    <head> 
 
    <title>Emma Malik&amp;s Official Website - Legal</title>

는 아포스트로피는 HTML 인코딩 된 ... 처리 후 같은 조각입니다. 그러나 모든 앰퍼샌드, 일부만 및 일부 다른 문자 (예 : >)와 같은 것은 아니지만 다시는 모든 문자가 아닌 것 같습니다.

내 플러그인을 통해, 이것은 아포스트로피로 남아 있으며, 어떻게 든 그것을 변환하는 파일을 다시 작성 gulp.dest 것으로 보인다. 가 UTF-8 BOM에 추가 소스 파일 (스트립-BOM 및 스트립-BOM-BUF)

  • 에서 UTF-8 BOM을 스트리핑 내가 시도한 것

    ...

    1. 대상 파일 (꿀꺽 헤더)
    2. gulp.dest 전에 내 플러그인 후 UTF-8 (꿀꺽 - 변환 인코딩)
    3. 디코딩을 대상 내용을 변환하는 대신하려면 string.replace
    4. 의 문자열 조작을 사용하여 (꿀꺽 꿀꺽 -h 비닐 파일

    사용 TML-엔티티)

  • 사람이 전에 이런 것을 본, 또는 그것을 해결하는 방법을 알고 했습니까?

  • 답변

    0

    거짓 알람, 실제로 "gulp-sri-hash"플러그인 인 것으로 밝혀졌습니다.이 플러그인은 내 작업 후에 실행됩니다. 나는 이것이 정확히 무엇을 일으키는 지에 대해 더 깊이 조사 할 필요가 있지만, 적어도 나는 그것이 아니라는 것을 알아 냈습니다!