Попробуйте регулярку такого вида
Код:
(<meta?).*?charset=(.*?)\"
Вроде бы достаточно такой регулярки в том случае, если на всей странице один charset.
Код:
/charset=(.*?)\"/
Работает или нет, проверял в программе на Perl
Код:
$str="<meta name=\"KEYWORDS\" content=\"фото объектов с мягкой черепицей, страница 2, Москва, Shinglas\" \/><meta http-equiv= \"Content-Type\" content=\"text\/html; charset=utf-8\"><\/meta><meta name=\"DESCRIPTION\" content=\"В данном разделе сайта компании представлены фото объектов с мягкой черепицей Shinglas, страница 2.\" \/><\/meta>";
print $str;
$str =~ /(<meta?).*?charset=(.*?)\"/;
$d = $2;
print "\n";
print $d;