2017-10-19 92 views
0

我創建了一個名爲php-include-html的Gulp插件,它可以掃描Gulp中的php文件,並且進程包含並需要語句來嵌入HTML片段。在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編碼。但是,它似乎不是所有的&符號,只是其中的一部分,還有一些其他字符,例如> >,但又不是全部。

通過我的插件,這仍然是一個撇號,它似乎是最重要的改寫文件,它以某種方式轉換它。

事情我已經試過......

  1. 從源文件(帶BOM和 帶BOM-BUF)
  2. 添加UTF-8 BOM來剝UTF-8 BOM目標文件(一飲而盡頭)
  3. 使用字符串操作,而不是與string.replace
  4. gulp.dest前的目的地內容轉換爲UTF-8(一飲而盡,轉換編碼)
  5. 解碼我的插件後(一飲而盡-H TML-實體)
  6. 使用乙烯基文件

有沒有人見過這樣的事情之前,或不知道如何解決它?

回答

0

虛驚一場,事實證明它實際上是在我之後運行的「gulp-sri-hash」插件,它正在這樣做。我需要進一步調查究竟是什麼導致了這一點,但至少我已經發現它不是我!

相關問題