Q_BASIC
Хранитель порядка
- Регистрация
- 30 Ноя 2013
- Сообщения
- 516
- Реакции
- 1.240
- Автор темы
- #1
Есть такое сжатие:
Этот код заменяет убирает все переводы строк и табуляцию. Он не должен убирать перевод строк в javascript коде. Он не убирает переводы тут:
НО он убирает перевод строк тут:
Мне надо что бы это [^<] не разрешало "<", но разрешало "<!--"
PHP:
preg_match_all('!(<(?:code|pre|script).*>[^<]+</(?:code|pre|script)>)!i',$html,$pre);
$html = preg_replace('!(<(?:code|pre|script).*>[^<]+</(?:code|pre|script)>)!i', '#-pre-#', $html);
$html = preg_replace('#<!–[^\[].+–>#', '', $html);
$html = preg_replace('/[\r\n\t]+/', ' ', $html);
$html = preg_replace('/>[\s]+</', '><', $html);
$html = preg_replace('/[\s]+/', ' ', $html);
if(!empty($pre[0]))
foreach ($pre[0] as $tag) {
$html = preg_replace("!#-pre-#!", $tag, $html,1);
}
return $html;
Этот код заменяет убирает все переводы строк и табуляцию. Он не должен убирать перевод строк в javascript коде. Он не убирает переводы тут:
HTML:
<script type="text/javascript">
function isName(name){
alert(name);
}
</script>
НО он убирает перевод строк тут:
HTML:
<script type="text/javascript">
//<!--
function isName(name){
alert(name);
}
//-->
</script>
Мне надо что бы это [^<] не разрешало "<", но разрешало "<!--"