【发布时间】:2018-05-24 10:29:12
【问题描述】:
在我的视图脚本中,我使用视图助手inlineScript 添加了 javascript,并将其回显在模板的页脚中。我现在正在尝试使用 this solution 缩小生成的 html。
我的问题是我在整个代码中都包含了内联 cmets(例如 //this is a comment)(因为我是一个优秀的开发人员),这导致所有后续代码也被视为注释(因为所有新行都被删除并且以下代码与内联注释放在同一行)。
如何扩展 inlineScript 以删除 cmets 和/或使用例如 mrclay minify 来缩小代码?
我尝试过的是:
<?php echo preg_replace('#//.*#', '', $this->inlineScript()) ?>
这会导致我有以下代码的页面出现问题:
jQuery(el).attr('data-toggle', 'popover')
.attr('data-trigger', 'hover')
.attr('data-html', 'true')
.attr('data-content', [
'<img style="height: 75px; border: 1px solid #000; margin: 5px" src="',
'//' + location.hostname + '/img/broker-logo/' + el.value,
'"/>'
].join(''))
而且,上面的一个变体,
<?php echo preg_replace('#[\s\t]+//.*#', '', $this->inlineScript()) ?>
检查 cmets 之前没有任何内容。这引发了我在行尾有代码后跟注释的问题:
var $el = jQuery('table.hover') //only apply effect to hover tables
这会产生与原始问题相同的不良结果。
【问题讨论】:
标签: javascript php zend-framework2 minify view-helpers