Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Веб Форумы » VBulletin 3.x.x » Хаки от Netadmin или "Сделай сам" » Вытянуть html-код в одну строку
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
Zlomrak
кошмар программиста
Средний рейтинг: 5 | Оценок: 2

Зарегистрирован: Mar 2004
Место проживания: Russia, Saint-Petersburg
Публикаций: 98
Статус: Zlomrak в оф-лайне
хак:Вытянуть html-код в одну строку [сообщение #78601]

Поскольку в сети активно сейчас идут споры по поводу оптимизации, поднятии ключевых слов как можно выше и ближе к началу документа да и просто для сохранения траффика , то многие хотят вытягивать html-код в одну строку...

На оф. сайте видел два хака, но они не понравились тем, что один не полностью вытягивал html код, а второй вытягивал всё совсем в одну строку из-за чего выскакивали ошибки яваскрипта...

Поэтому я взял и написал свой (заюзав пару функций откуда-то из сети)...может кому пригодится...

Проверял на версиях 3.0.7 и 3.0.9 ... но думаю что на других отличий не будет...
Хак вытягивает в строку всё, что не входит в теги <script> а также убирает ненужные пробелы в теге <script>


1. Открываем файл includes/functions.php
2. Находим там функцию print_output
3. После функции print_output вставляем следующее:


PHP:


// ###################### Vadim S. Replace Spaces Hack #######################
function clean_spaces($source){
    
preg_match_all("{<script[^>]+>.*?</script>}is", $source, $match);
    
$scripts = $match[0];
    
$source = preg_replace("{<script[^>]+>.*?</script>}is", '###vadim_s_replace###', $source);
    
$patterns = array ("\n", "\r");
    
$replace = array ('', '');
    
$source = str_replace($patterns, $replace, $source);


    foreach(
$scripts as $temp_script) {
        
$source = preg_replace("!###vadim_s_replace###!",$temp_script,$source,1);
    }
    
$patterns = array('/>s+</', '/^s*/m', '/>s+</');
    
$replace = array('> <', '', '> <');
    
$source = preg_replace($patterns, $replace, $source);
    
$pattern=array("\r\n<!--",  "-->\r\n", "\r\n//", "\n//", "\r//");
    
$replace=array('<!--',  '-->', ' //', ' //', ' //');
    
$source = str_replace($pattern, $replace, $source);

return 
$source;
}


$vartext=clean_spaces($vartext);
// ######################  Vadim S. Replace Spaces Hack #######################




P.S.: Если вещь нужная, то кто-нить может залить в дамп...я не против =)

__________________
Верить никому нельзя....Даже себе...Мне - можно...

Сообщение было отредактировано Zlomrak 22-09-2005 в 00:06

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 21-09-2005 23:49
Нажмите сюда для просмотра профайла Zlomrak Отправить Персональное сообщение Zlomrak Посетить домашнию страничку Zlomrak! Найти сообщения от Zlomrak Добавить Zlomrak в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 22:03.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.38216496 seconds (98.59% PHP - 1.41% MySQL) with 27 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.