В моих скриптах вида я добавляю javascript с помощью помощника вида inlineScript
и отображаю его в нижнем колонтитуле моего шаблона.Сейчас я пытаюсь минимизировать сгенерированный HTML, используя это решение .
Моя проблема заключается в том, что я включаю встроенные комментарии (например, //this is a comment
) в свой код (поскольку я хороший разработчик)что приводит к тому, что весь следующий код будет также рассматриваться как комментарий (так как все новые строки удаляются, а следующий код помещается в ту же строку, что и встроенный комментарий).
Как расширить inlineScript
доудаляйте комментарии и / или минимизируйте код, используя, например, 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()) ?>
, который проверяет комментарии, которые ничего не имеют до этого.Это вызывает проблемы, когда у меня есть код, за которым следует комментарий в конце строки:
var $el = jQuery('table.hover') //only apply effect to hover tables
, который приводит к тому же нежелательному результату, что и исходная проблема.