Verh. Content zu Quelltext - Vorschlag
Die Liste von den bekannten Bugs hat mich vorhin darauf aufmerksam gemacht, dass ich die Berechnungsmethode nicht nachvollziehen kann .
Wie dort erwähnt ist, werden z.B. überflüssige Whitespaces als Content statt Code interpretiert.
Vor ein paar Tagen habe ich ein Kleines Script entwickelt, welches das Verhältnis Content zu Quelltext meiner Meinung nach exakt berechnet.
- Title-, Alt- und Value(Input)-Attribute werden als Content gezählt.
- Mehrfache Whitespaces werden auf eines reduziert.
- HTML-Entities werden decodiert.
<?php
# Grösse des gesamten Quelltextes
$totalSize = strlen($quelltext);
# HTML-Kommentare entfernen
$quelltext = preg_replace('##Uis', '', $quelltext);
# Title-Attribute rausfiltern
$titles = array(array(), array(), array());
preg_match_all('#<[^>]+[[:space:]]title=(\'|")([^>]*)(\\\\1)#Uis', $quelltext, $titles);
$titlessize = 0;
foreach($titles[2] as $title)
$titlessize += strlen(trim(preg_replace('#[[:space:]]+#s', ' ', html_entity_decode($title, ENT_QUOTES, 'UTF-8'))));
# Alt-Attribute rausfiltern
$alts = array(array(), array(), array());
preg_match_all('#<[^>]+[[:space:]]alt=(\'|")([^>]*)(\\\\1)#Uis', $quelltext, $alts);
$alternatsize = 0;
foreach($alts[2] as $alt)
$alternatsize += strlen(trim(preg_replace('#[[:space:]]+#s', ' ', html_entity_decode($alt, ENT_QUOTES, 'UTF-8'))));
# Value-Attribute rausfiltern
$vals = array(array(), array(), array());
preg_match_all('#<input[^>]*[[:space:]]value=(\'|")([^>]*)(\\\\1)#Uis', $quelltext, $vals);
$valuesize = 0;
foreach($vals[2] as $val)
$valuesize += strlen(trim(preg_replace('#[[:space:]]+#s', ' ', html_entity_decode($val, ENT_QUOTES, 'UTF-8'))));
# HTML-Tags entfernen, inkl. Inhalte von Style, Script und Noscipt
$quelltext = preg_replace('#<(style|script|noscript)[^>]*/>#Uis', '', $quelltext); // leere Tags
$quelltext = preg_replace('#<(style|script|noscript)[^>]*>.+</(\\\\1)>#Uis', '', $quelltext);
$quelltext = strip_tags($quelltext);
# HTML-Entities in Zeichen umwandeln
$quelltext = html_entity_decode($quelltext, ENT_QUOTES, 'UTF-8');
# Alle überflüssigen/mehrfachen Whitespaces auf eines reduzieren
$quelltext = preg_replace('#[[:space:]]+#s', ' ', $quelltext);
$quelltext = trim($quelltext);
# Title-Attribute etc. mit Content zusammenrechnen
$contentSize = (strlen($quelltext)+$titlessize+$alternatsize+$valuesize);
# Verhältnis in %
$result = round($contentSize/$totalSize*100, 2);
?>
Meine Developer-Website mit den Web-Entwickler-Tools.
Meine Web-Entwicklungs-Dienstleistungen
[url="http://www.seitenreport.de/forum/beitraege/seitenreport_verlosungen/wichtig_neue_regel
Beitrag erstellen
EinloggenKostenlos registrieren