Пропустить

[BETA] Cut parsed template

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!

Сообщение quazi » 15.11.2005 23:07

class IgnoreWhiteSpaces
{

	function process($s)
	{
		// Temporary buffer
		$GLOBALS['__IgnoreWhiteSpaces__process__'] = array();

		// Save all problem parts
		$s = preg_replace_callback(
			"/(<(script|style)[^>]*?>((?!<\/\\2>).)*?<\/\\2>)/s",
			array('IgnoreWhiteSpaces', '_ob_parse'),
			$s
		);

		// Strip all white spaces
		$s = preg_replace('/\s+/', '', $s);

		// Restore all saved parts
		$s = preg_replace(
			array_values($GLOBALS['__IgnoreWhiteSpaces__process__']),
			array_keys($GLOBALS['__IgnoreWhiteSpaces__process__']),
			$s
		);

		// Destroy buffer
		unset($GLOBALS['__IgnoreWhiteSpaces__process__']);

		// Return result
		return $s;
	}

	function _ob_parse($matches)
	{
		// Generate hash of string
		$s = $matches[1];
		$md5 = md5($s);

		// Save this string
		$GLOBALS['__IgnoreWhiteSpaces__process__'][$s] = '/' . $md5 . '/';

		// Make here the more delicate handle of embed scripts

		// Return hash of saved string
		return $md5;
	}

}


[R: R@m$e$ :U], проверь у себя вот это

пользовать так
echo IgnoreWhiteSpaces::process($s);

quazi
phpBB 2.0.8
 
Сообщения: 306
Зарегистрирован: 15.03.2005 19:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение [R: R@m$e$ :U] » 15.11.2005 23:18

quazi
лучше тебе не видеть, что с форумом стало после этого... =)
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
 
Сообщения: 1466
Зарегистрирован: 16.01.2005 14:04
Откуда: Novosibirsk,RU
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение quazi » 16.11.2005 9:16

quazi, аффтар выпей иаду

[R: R@m$e$ :U]
вот это надо
      // Strip all white spaces
      $s = preg_replace(
            array('\r', '/(\s)\s+/'),
            array('', '\1'),
            $s);

quazi
phpBB 2.0.8
 
Сообщения: 306
Зарегистрирован: 15.03.2005 19:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Никто » 02.04.2006 22:36

Хотелось уточнить. Класец запихнуть в template.php я так понимаю? А echo IgnoreWhiteSpaces::process($s); получается в футер чтоль? Или куда?
Долой edgar'a - самого тупого юзера на форуме!
Аватара пользователя
Никто
Advanced Lamers Team
 
Сообщения: 317
Зарегистрирован: 07.01.2006 23:35
Откуда: Химки
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Delestor » 19.10.2006 12:23

quazi писал(а):quazi, аффтар выпей иаду



[R: R@m$e$ :U]

вот это надо

Код:

      // Strip all white spaces

      $s = preg_replace(

            array('\r', '/(\s)\s+/'),

            array('', '\1'),

            $s);

Так и не могу понять что к чему...
То, что на первой странице с явой работает неправильно.
Похоже проект умер?...

Добавлено спустя 9 часов 43 минуты 15 секунд:

Никто писал(а):в футер чтоль? Или куда?

Шаблон не выполняется, следовательно echo не сработает.
Пробовал кидать класс в template.php, в includes\function - чистая станица.

Добавлено спустя 1 час 40 минут 20 секунд:

Класс вставлять в includes\function\functions.php например в самый конец.

В templates.php после:
				{
					$code_lines[$i] = '$' . $retvar . '.= \'' . $code_lines[$i] . '\' . "\\n";'; 
				}


Добавляем:
//CTPT FQP4:A
$code_lines[$i]= IgnoreWhiteSpaces::process($code_lines[$i]);

На выходе получаем кашу, чем-то напоминающую PDA шаблоны.

quazi писал(а):[R: R@m$e$ :U]
вот это надо


Если в классе:
      // Strip all white spaces 
      $s = preg_replace('/\s+/', '', $s);


Заменить на:
      // Strip all white spaces 
      $s = preg_replace( 
            array('\r', '/(\s)\s+/'), 
            array('', '\1'), 
            $s);

Тогда в браузере:
Warning: preg_replace(): Delimiter must not be alphanumeric or backslash in w:\home\mysite\www\forum\includes\functions.php on line 1064

В фантастическом количестве...
Естественно всё лишее осталось на месте.

1064 строка:
      
          $s = preg_replace(
                      array('\r', '/(\s)\s+/'),
                      array('', '\1'),
1064:                   $s);
Чувствую себя натуральной блондинкой...

Delestor
phpBB 1.4.1
 
Сообщения: 44
Зарегистрирован: 22.06.2006 14:29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Пред.

Вернуться в Бета-версии модов для phpBB 2.0.x

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы