WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 19.10.2015 07:12:32

rjgamer
Developer

Sanitize HTML Output

Hi Leute,

aus Performance- und SEO-Gründen habe ich bei Free2play-Games.de eine Sanitize Funktion für die Komprimierung des HTML Codes implementiert (HTML Code ohne Zeilenumbruche um die KB-Grösse zu minimieren):

[== PHP ==]
function sanitize_output($buffer) {
	$search = array(
		'/\>[^\S ]+/s',  // strip whitespaces after tags, except space
		'/[^\S ]+\</s',  // strip whitespaces before tags, except space
		'/(\s)+/s'       // short multiple whitespace sequences
	);
	$replace = array(
		'>',
		'<',
		'\\1'
	);
	return preg_replace($search, $replace, $buffer);
}
ob_start('sanitize_output');

Bis jetzt stand dieser Code an erster Stelle bei der index.php und wurde von mir jeweils nach einem Upgrade wieder manuell hinzugefügt. Ich frage mich nun, warum nicht gleich in den Core von WBCE aufnehmen und unter Einstellungen aktivier-/deaktivierbar machen? Oder empfiehlt sich hier eher ein Snippet Modul?

Gruss rjgamer

Offline

#2 19.10.2015 10:04:52

norhei
Developer

Re: Sanitize HTML Output

Mit dem Filter Modul so wie es ist bin ich ja sowieso nicht zufrieden, bin da ein wenig in der Zwickmühle .
OPF dashboard ist geil, sowas möchte ich auf lange Sicht haben ,  die Hooks sind in der nächsten Release auf jeden Fall mit drin .
Man installiert sich im Moment natürlich ein ziemliches Monster mit  SMF und OPF zumal die SMF nicht mehr wirklich funktionieren und auch nicht wirklich zeitgemäß sind und obendrein halt eben irgendwie um den Core drumrum gebaut werden mussten...

Habe sozusagen grade Ideen Stau aus den Letzten 6 Jahren ... solange ist ja nichts mehr passiert ..
Man kann ja Output filter auch als Droplets realisieren und dann einfach ans Ende deines Templates in der index.php [[myfilter]]
Ich glaube das ist zur Zeit die beste Lösung, bis die Outputfilter überarbeitet sind und 100% Zukunsftssicher ist sie auch.

$content=$wb_page_data;

$content= MeineFilterFunktion($content);
$content= AndereFilterFunktion($content);
MachNochMehr($content);
...

$wb_page_data=$content;

return true;

Offline

#3 19.10.2015 10:10:45

norhei
Developer

Re: Sanitize HTML Output

Oder direkt :

$content=$wb_page_data; // Maybe we need original data somewhere later here.

$search = array(
    '/\>[^\S ]+/s',  // strip whitespaces after tags, except space
    '/[^\S ]+\</s',  // strip whitespaces before tags, except space
    '/(\s)+/s'       // short multiple whitespace sequences
);
$replace = array(
    '>',
    '<',
    '\\1'
);

$wb_page_data= preg_replace($search, $replace, $content);
return true;

This is just written down , not tested!!!

Offline

#4 19.10.2015 10:14:51

rjgamer
Developer

Re: Sanitize HTML Output

Alles klar, danke für den Tipp!

Offline

Board footer

Powered by FluxBB

up