繁体   English   中英

删除php文件中的javascript注释

[英]Remove javascript comments within php file

我有一个javascript文件myjs.php,它在服务器上生成并通过标头传送到浏览器。

Header("content-type: application/x-javascript; charset=utf-8");

该文件很大,包含很多在js部分内回显的注释:

echo "  // comments   /* comments */ etc.

我很欣赏,如果有必要,我可以重写php,以便所有评论都在php部分内。

在PHP中,有没有办法在运行时删除这些注释,以便它们不是通过缩小或通过其他方式传递给浏览器的文件的一部分?

您可以使用PHP包装器中的UglifyJS等工具。 有一些包来处理它,比如UglifyPHP 生成文件后,在其上运行minifier,这也将删除注释:

use UglifyPHP\JS;

$js = new JS(['myjs.php']);

$js->minify('myjs.js', [
    'comments' => false,
]);

结合ob_start()ob_get_contents()ob_end_clean()并使用原始文件流作为输入,您可以获得所需的结果。


更新:

如果没有可能使用除纯LAMP堆栈之外的任何东西,OP会根据需要添加此项。

以下是如何从文件中删除单行和多行PHP注释的参考:

正则表达式删除注释和多行注释和空行

这是通用的解决方案:

从PHP代码中自动删除注释的最佳方法

这样就可以了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM