Šiandien sukau galvą, kaip padaryti, kad imant ką nors iš svetimų puslapių (kurie gali būti su bet kokia koduote), būtų galima viską konvertuoti į UTF8. Mano atveju man reikėjo tik ištraukti bet kurio puslapio pavadinimą (”title”).
$url=”http://www.chinamp3.com/”; // čia testavau su kiniškais hieroglifais, bet veikia ir su rusiškom raidėm, tad turbūt ir su visom kitom
$text = file_get_contents( $url ); // alternatyva – CURL
preg_match( ‘@<meta\s+http-equiv=”Content-Type”\s+content=”([\w/]+)(;\s+charset=([^\s"]+))?@i’,
$text, $matches );
if (isset($matches[1]))
$mime = $matches[1];
if (isset($matches[3])){// sužinom puslapio koduotę; kol kas nesugalvojau, kaip koduotę nustatyt automatiškai, jei ji nenurodyta puslapio kode; pastaruoju atveju pavadinimas nebus paimamas
$charset = $matches[3];
if(strpos($text, “<title>”)!==false){
$pattern = ‘/<title>(.*)<\/title>/’;
preg_match($pattern, $text, $yra);
$pagetitle=iconv( $charset, “utf-8″, $yra[1] );
echo “Pavadinimas: $pagetitle”;
}
}
2008-05-24
PHP: bet kokios koduotės teksto konvertavimas į UTF-8
2 Komentarai »
RSS feed for comments on this post. TrackBack URI
[...] UTF-8 į Windows-1257 Filed under: Uncategorized — dainos @ 11:58 Tags: php, skriptai Šioje žinutėje rašiau, kaip konvertuoti bet kokį tekstą į UTF-8 koduotę. Atvirkštinis variantas yra kur kas [...]
Pingback by Konvertavimas iš UTF-8 į Windows-1257 « Dainos — 2008-06-14 @ 11:59
[...] Filed under: Uncategorized — dainos @ 19:18 Tags: free, mysql, php, utf Papildomai prie šio būdo – dar kelios manipuliacijos mėginant priversti rodyti lietuviškas raides iš Mysql [...]
Pingback by Mysql UTF-8 lietuvybė « Dainos — 2008-09-20 @ 19:18