phpでhtmlのタイトルを取得する方法について
phpを使い、URLで指定されたサイトのタイトルを取得したいと考えています。
以下の通り実装してみたのですが、特定のサイトで取得したタイトルが文字化けしてしまいます。
mb_internal_encoding("UTF-8");
$html = file_get_contents($url);
$convertedHtml = mb_convert_encoding($html, 'UTF-8', 'auto');
if (preg_match('/<title>(.*)<\/title>/i', $convertedHtml, $matches)) {
return $matches[1];
}
※$urlにはタイトルを取得したいサイトのURLが入っています
※例をあげると、"http://rental.geo-online.co.jp" を$urlにセットした場合にタイトルが文字化けします
文字化けしてしまったサイトの文字コードは、x-sjisやEUC-JPでした。
この場合、$htmlから文字コードを指定しているタグをを取得すれば良いのか、
とも考えましたが、HTMLの知識に乏しくどのように正規表現を書いたら良いのかがわかりません。
ちなみにphpのバージョンは5.3.2です。
よろしくお願いします。
お礼
ありがとうございます! 今から試してみようと思います すばやい回答ありがとうございました