2009-01-10

厄年始動開始

本格的に厄年なんじゃないかと…(いや、厄年なんだけどね)
病は気からというじゃないですか、気持ちで負けたらだめなんだと言い聞かせてみています。
だが、しかし、正月早々風邪で寝込んで風邪がなかなか治らず、
鞄を電車にわすれたりとか微妙に踏んだりけったり。

そうそう。新年早々うちの可愛い子ちゃんが血尿出すし、
車のバッテリーは突然上がるし、

は!なんか考えてたら凹む…

//ここからは仕事の話
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( '/&#x([0-9a-fA-F]+);/e', '"&#" . hexdec( "\\1" ) . ";"', $str );
}


これでいいのかは謎。
まぁ、でもタイトルをxml形式で取得することができるようになりました。
しかも、amazonのサイトってshift-jisなんだよ!

0 コメント: