病は気からというじゃないですか、気持ちで負けたらだめなんだと言い聞かせてみています。
だが、しかし、正月早々風邪で寝込んで風邪がなかなか治らず、
鞄を電車にわすれたりとか微妙に踏んだりけったり。
そうそう。新年早々うちの可愛い子ちゃんが血尿出すし、
車のバッテリーは突然上がるし、
は!なんか考えてたら凹む…
//ここからは仕事の話
PHPを最近いじくりまわっているのだけれどもアマゾンのhtmlのひどさに愕然。
まぁ、それはよくて。
amazonのタイトルは実体参照になっているので普通に取得できない…!!
会社のサーバーは、HTML4.01の16進数HTML数値実体には未対応なのでむりやり変換。
if(preg_match( "/<title>(.*?)<\/title>/i", $html, $matches)){
$title = $matches[1];
$title = hex2digit_numericentity($title);
$title = mb_convert_encoding($title, "UTF-8", "SHIFT-JIS");
$title = mb_decode_numericentity($title, array(0, 0xffffff, 0, 0xffffff),UTF-8");
$title = htmlspecialchars($title);
}
function hex2digit_numericentity($str){
return preg_replace( '/([0-9a-fA-F]+);/e', '"" . hexdec( "\\1" ) . ";"', $str );
}
これでいいのかは謎。
まぁ、でもタイトルをxml形式で取得することができるようになりました。
しかも、amazonのサイトってshift-jisなんだよ!
0 コメント:
Post a Comment