Темплейт таблуации

anonimen каза:
dakata__92 каза:
...
Искам в браузъра View Source да е подреден добре при сглобяването на кода.
...
What the.... ? Защо?? :roll: :shock:
Колеги, защо не е важно, въпросът ми е възможно ли е? Неискам в темплейтовете да подавам излишно таблуации. Искам да са си както в момента а именно да бъдат прилепнали. Просто искам да си напиша някаква функция или клас за да ми таблуира преди изход съдържанието. Това, защо съм го решил решил съм да го направя, а дали ще го ползвам вече е тема под въпрос. Просто искам да имам тази възможност да ми таблуира изходният код.
 
Добре де, не можеш ли на мястото на show да направиш онова заместване от предишния пост:

return str_replace("\n","\t".PHP_EOL,$__outputBuffer).PHP_EOL;

Само че това да го правиш на всеки @show(); ?
 
anonimen каза:
Добре де, не можеш ли на мястото на show да направиш онова заместване от предишния пост:

return str_replace("\n","\t".PHP_EOL,$__outputBuffer).PHP_EOL;

Само че това да го правиш на всеки @show(); ?

PHP:
$__outputBuffer = preg_replace("/\<([^!].+?)\>([\d\D]*)\<\/(.+?)\>/iu","<$1>\t$2</$3>",$__outputBuffer);

$__outputBuffer = preg_replace("/\<([^!].+?)\>([\d\D]*)\<\/(.+?)\>/iu","<$1>\t$2</$3>",$__outputBuffer);


\t$2 -не таблуира кода навътре тоест нещо някъде логически бъркам тук.
 
dakata__92 каза:
uphero каза:
Така ти е супер кода, не се занимавай с глупости.
Даже е добре да го минеш и през един HTML minifier.
Потребителя му е през *** как е подреден кода, него го интересува всичко да става възможно най-бързо.
Защо да го минавам през Minifer? Има ли някаква файда да го сбивам в браузъра така?


Изходния код не е за гледане.
Виж този сайт:
http://whatwpthemeisthat.com/
Както CSS и JS се минифицира, така същото се прави с HTML-a - за по-бързо зареждане.
 
И с колко се предполага, че това ще повиши скоростта на сайта? Отделно как да не е за гледане, когато той е огледалото на програмиста. Лесно мога да направя всичко да е на една линия но с колко ще повиши скоростта на зареждане и най-вече, защо да подпомага зареждането на сайта? Предполагам защото интерпретатора ще врътне само един цикъл и ще вземе от първият ред всички тагове и ще тресне отговора веднага за визуализация в браузъра. Ок, така си го обеснявам аз, че си спестявам цикли на въртене. Но пък кооолко да е осезаемо това зареждане, караш ме да тествам за да разбера изобщо има ли разлика някава осезаема.
 
uphero каза:
dakata__92 каза:
uphero каза:
Така ти е супер кода, не се занимавай с глупости.
Даже е добре да го минеш и през един HTML minifier.
Потребителя му е през *** как е подреден кода, него го интересува всичко да става възможно най-бързо.
Защо да го минавам през Minifer? Има ли някаква файда да го сбивам в браузъра така?

Защото явно си кодер който грам не е наясно с оптимизацията след това.
Изходния код не е за гледане.
Виж този сайт:
http://whatwpthemeisthat.com/
Както CSS и JS се минифицира, така същото се прави с HTML-a - за по-бързо зареждане.

С малко ровене в нета криейтнах това, кажи как ти се струва?
PHP:
<?php
namespace Model\Library;

class Minify
{
	public function run($buffer) 
	{
		//remove redundant (white-space) characters
		$replace = array(
			//remove tabs before and after HTML tags
			'/\>[^\S ]+/s'   => '>',
			'/[^\S ]+\</s'   => '<',
			//shorten multiple whitespace sequences; keep new-line characters because they matter in JS!!!
			'/([\t ])+/s'  => ' ',
			//remove leading and trailing spaces
			'/^([\t ])+/m' => '',
			'/([\t ])+$/m' => '',
			// remove JS line comments (simple only); do NOT remove lines containing URL (e.g. 'src="http://server.com/"')!!!
			'~//[a-zA-Z0-9 ]+$~m' => '',
			//remove empty lines (sequence of line-end and white-space characters)
			'/[\r\n]+([\t ]?[\r\n]+)+/s'  => "\n",
			//remove empty lines (between HTML tags); cannot remove just any line-end characters because in inline JS they can matter!
			'/\>[\r\n\t ]+\</s'    => '><',
			//remove "empty" lines containing only JS's block end character; join with next line (e.g. "}\n}\n</script>" --> "}}</script>"
			'/}[\r\n\t ]+/s'  => '}',
			'/}[\r\n\t ]+,[\r\n\t ]+/s'  => '},',
			//remove new-line after JS's function or condition start; join with next line
			'/\)[\r\n\t ]?{[\r\n\t ]+/s'  => '){',
			'/,[\r\n\t ]?{[\r\n\t ]+/s'  => ',{',
			//remove new-line after JS's line end (only most obvious and safe cases)
			'/\),[\r\n\t ]+/s'  => '),',
			//remove quotes from HTML attributes that does not contain spaces; keep quotes around URLs!
			'~([\r\n\t ])?([a-zA-Z0-9]+)="([a-zA-Z0-9_/\\-]+)"([\r\n\t ])?~s' => '$1$2=$3$4', //$1 and $4 insert first white-space character found before/after attribute
		);
		$buffer = preg_replace(array_keys($replace), array_values($replace), $buffer);

		//remove optional ending tags
		$remove = array(
			'</option>', '</li>', '</dt>', '</dd>', '</tr>', '</th>', '</td>'
		);
		$buffer = str_ireplace($remove, '', $buffer);

		return $buffer;
  }
}
 

Back
Горе