问题是
我有很多 .php 文件,大部分包含HTML,但也有一些PHP行在上面(例如,表单触发器代码或类似代码)。
<?php
if($someValue){
//doSth
}
//more content
?>
<!DOCTYPE html>
<html lang="de">
<head>
<title>My Website</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<!-- Content and scripts here -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
</body>
</html>
目标
我的目标是缩小HTML(甚至可能是内联javascript,但这只是一点额外的),而不触及顶部的PHP。我正在使用Gulp作为自动构建工具,并希望看到一个使用此工具和任何额外的包,因为他们需要的解决方案。
2条答案
按热度按时间g2ieeal71#
gulp-htmlmin模块使用html-minifier模块,html-minifier模块有很多可用的选项(* 显示在npmjs.com和github页面上 *),我们将重点讨论
ignoreCustomFragments
选项。在上面的代码中,我们使用
ignoreCustomFragments
和正则表达式/<\?[=|php]?[\s\S]*?\?>/
来忽略以<?
和<?php
开头并以?>
结尾的代码。默认情况下,html-minifier忽略php,所以你不必担心设置
ignoreCustomFragments
。编辑感谢amersk
一些你使用的php文件可能没有结束标签,例如很多WordPress文件就没有。另一种方法是使用以下代码:
ignoreCustomFragments: [/<\?[\s\S]*?(?:\?>|$)/]
2sbarzqh2#
这对我有用!