<?
// このソース(index.php)
// http://www.usamimi.info/~ryouchi/gettitle/index.phps
// proxy.php
// http://www.usamimi.info/~ryouchi/gettitle/proxy.phps

include('proxy.php');
//proxy利用の場合1/未使用の場合0
//proxy.phpは下記にあります
$use_proxy 0;
$proxy_host 'example.co.jp';
$proxy_port 8080;
$no_proxy = array(
    
'localhost',        // localhost 
    
'127.0.0.0/8',      // loopback
);
function 
get_title_name($html){
    
// TIDYオブジェクト作成
    
$tidy tidy_parse_string($html);
    
// cleanRepair()でタグ自動修正
    
$tidy->cleanRepair();
    
// headタグのみ取得($headは連想配列になる)
    
$head tidy_get_head($tidy);
    
//出力してみる
    
echo '<pre>';
    
print_r($head);
    echo 
'</pre>';
    
// titleタグを抽出
    
foreach ($head->child as $t)
    {
        if (
$t->name == "title"){
            
$title $t->child[0]->value;
        }
    }
    
// titleの中身を戻して終了
    
return($title);
}
?>
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>tidy get title</title>
</head>
<body>
<?php
echo '<form method="get" action="'.$_SERVER["PHP_SELF"].'">';
?>
<input type="submit" value="チェック">
<input type="text" name="url" size="80" value="http://mixi.jp" />
</form>
<?php
if($_GET["url"] <>"") {
    
$url $_GET["url"];
    
// $dataにHTMLソース格納
    
$rdata http_request($url);
    
// $dataにHTMLソース格納
    
$data $rdata['data'];
    
// 取得データをUTF-8に変換
    
$data mb_convert_encoding($data,"UTF-8""auto");
    echo 
'■TIDYに渡す前<hr />';
    echo 
htmlspecialchars($data);
    echo 
'■TIDYに渡した後(文字化け?)<hr />';
    
$title get_title_name($data);
    echo 
'■TITLEタグ取得(文字化け?)<hr />';
    echo 
$title;
}
?>
</body>
</html>