Try checking the attribute contents before setting the value:
$generator=""; // clear previous value
for ($i = 0; $i < $metas->length; $i++)
{
$meta = $metas->item($i);
if($meta->getAttribute('name') == 'description')
$description = $meta->getAttribute('content');
if($meta->getAttribute('name') == 'generator') {
$thisgenerator = $meta->getAttribute('content');
if ( ($generator == '') && (stristr($thisgenerator,'wordpress')) ) {
$generator = $thisgenerator;
}
}
}