soulmy adlı üyeden alıntı

preg_match("''si",$adres, $karakter_seti);bu kod her zaman işe yaramıyor ne yazıkki.

Misal html5 sitelerde

buradaki charset değerini bu regex ile çekemezsiniz.

Ayrıca çok nadir de olsa bazı sitelerde charset meta kodu hiç olmayabiliyor.


bu kod örnek bir kod benim kullandığımda tüm ihtimaller düşünülerek kodlandı. dediğiniz gibi html5 kodlamarda bu şekilde

bunu da genel manada şu şekilde elde edebiliriz;



function temizle($temizle) {
$temizle = preg_replace('"','', $temizle);
$temizle= preg_replace("'", '', $temizle);
$temizle = str_replace("?","",$temizle);
$temizle= str_replace('/',"",$temizle);
$temizle = preg_replace("<","",$temizle);
$temizle = preg_replace(">","",$temizle);
$temizle = preg_replace('\',"",$temizle);

return $temizle;
}


preg_match("'charset=(.*?)'si",$adres, $karakter_seti);

$karakter_seti = temizle($karakter_seti[1]);



bu yöntemle öğrenebiliriz genel anlamda. Fakat dediğiniz gibi nadir de olsa charset kodu sitelerde bulunmuyor bu genel manada anlattığım gibi ingilizce sitelerde olmuyor ki zaten onlardan veri çektiğimiz zaman karakter hatası oluşmuyor...