2011/02/06 17:59:44
今日のメモ01
GoogleCheromeのブックマークフォルダで「マウスのホイールをクリック」すると、Firefoxの「タブですべて開く」と同じ動作が出来る、つまり指定されたフォルダ内のブックマークを全部一気に開ける。
今日のメモ02
PHPの「mb_convert_kana関数」は、PHP5から第三引数で文字コードを指定しないと文字化けを起こす、まあ全角→半角カナ変換位にしか使わないワケだけど。
PHP.iniのmbstring.language的な設定が「Japanese」になっていれば、第三引数がなくても大丈夫っぽいともっぱらの噂。
この場合、mb_launguageは無力なのかどうかは謎。
今日のメモ03
IPv6では冒頭の0は省略できる、従って
EE80:0090:1786:1E78:0000:0000
は
EE80:90:1786:1E78:0:0
と記述可能
GoogleCheromeのブックマークフォルダで「マウスのホイールをクリック」すると、Firefoxの「タブですべて開く」と同じ動作が出来る、つまり指定されたフォルダ内のブックマークを全部一気に開ける。
今日のメモ02
PHPの「mb_convert_kana関数」は、PHP5から第三引数で文字コードを指定しないと文字化けを起こす、まあ全角→半角カナ変換位にしか使わないワケだけど。
PHP.iniのmbstring.language的な設定が「Japanese」になっていれば、第三引数がなくても大丈夫っぽいともっぱらの噂。
この場合、mb_launguageは無力なのかどうかは謎。
今日のメモ03
IPv6では冒頭の0は省略できる、従って
EE80:0090:1786:1E78:0000:0000
は
EE80:90:1786:1E78:0:0
と記述可能
2011/01/22 21:54:35
凄いマニアックな悩みを書く、PHPでスペイン語のページ(文字コードはUTF-8)をloadHtmlFileすると、なぜかスペイン語の「è」が「é」になっている。
文字化けとかいう以前に、1バイト増えてる。
たまたま解かったことだが、どうも「UTF-8」を「ISO-8859-1」として読み込んだ後に「UTF-8」に変換しているらしい、ドイツ語やフランス語は平気なので、謎。
【原因判明】
原因が判明した、metaのcharset指定よりも前にtitleが存在し、そのタイトルにスペイン語の「ó」が含まれているため、文字コードを誤変換してしまうという向こう側の初歩的HTMLコーディングミス、ちゃんと書いてさえいれば問題ないんだけどなあ。
ちなみにloadHTMLする際にencodingプロパティを指定しても無駄、METAのencodingをHEAD直後に強制的に挿入して解決したが、せっかくシンプルにHTMLがパース出来る関数なのに、ものすごくスマートさにかけた記述に…
【参照URL】
php: DOMでのHTMLパース時の文字化け対策
文字化けとかいう以前に、1バイト増えてる。
たまたま解かったことだが、どうも「UTF-8」を「ISO-8859-1」として読み込んだ後に「UTF-8」に変換しているらしい、ドイツ語やフランス語は平気なので、謎。
【原因判明】
原因が判明した、metaのcharset指定よりも前にtitleが存在し、そのタイトルにスペイン語の「ó」が含まれているため、文字コードを誤変換してしまうという向こう側の初歩的HTMLコーディングミス、ちゃんと書いてさえいれば問題ないんだけどなあ。
ちなみにloadHTMLする際にencodingプロパティを指定しても無駄、METAのencodingをHEAD直後に強制的に挿入して解決したが、せっかくシンプルにHTMLがパース出来る関数なのに、ものすごくスマートさにかけた記述に…
【参照URL】
php: DOMでのHTMLパース時の文字化け対策
2011/01/22 10:28:36
「HTMLをXMLに整形してゴニョる…」具体的にいうと、YahooとMSNとlivedoorから欲しいカテゴリのニュースだけ取って来て一覧で表示するとか、したい場合。
私は「HTML取得→Xhtml整形→simpleXml_load」の流れを想定した、直前にRSSリーダーを作ったりしてたし…美しくないHTMLが世には多いし、なんか使いやすいHTMLパーサーも無いし。
という感じだったのだが、上記はPHP5の標準関数でワリと一瞬で行ける。
ただしXML整形はしない、なぜならHTMLの時点で既に完全にDOMアクセス可能なので、ワザワザXMLにする必要性が無いからである、XML変換することが主目的の場合は、下記の最後に「$dom->saveXml()」とかをしとけば問題ないハズだが、結局はパースエラーが出がち。
【やり方】
$dom = new DOMDocument();
//コイツはダーティなHTMLでも読込可能、ただしワーニングが出まくるのでエラーを抑制しておくのが吉。
//あと激しくパースエラーをかまされると、の解釈が出来ずに
//結局、内容がDOM変換できなかったりするので、やはり正確なXHTMLでの記述は重要。
@$dom->loadHTML($html);
// DOMをSimpleXMLへ変換
$dom = simplexml_import_dom($dom);
で、もう「$dom->html->body->div[1]」みたいなDOMオブジェクトアクセスが可能!でもPHP5限定。
【参照】
PHP5、未整形HTMLをSimpleXMLへ変換
私は「HTML取得→Xhtml整形→simpleXml_load」の流れを想定した、直前にRSSリーダーを作ったりしてたし…美しくないHTMLが世には多いし、なんか使いやすいHTMLパーサーも無いし。
という感じだったのだが、上記はPHP5の標準関数でワリと一瞬で行ける。
ただしXML整形はしない、なぜならHTMLの時点で既に完全にDOMアクセス可能なので、ワザワザXMLにする必要性が無いからである、XML変換することが主目的の場合は、下記の最後に「$dom->saveXml()」とかをしとけば問題ないハズだが、結局はパースエラーが出がち。
【やり方】
$dom = new DOMDocument();
//コイツはダーティなHTMLでも読込可能、ただしワーニングが出まくるのでエラーを抑制しておくのが吉。
//あと激しくパースエラーをかまされると、の解釈が出来ずに
//結局、内容がDOM変換できなかったりするので、やはり正確なXHTMLでの記述は重要。
@$dom->loadHTML($html);
// DOMをSimpleXMLへ変換
$dom = simplexml_import_dom($dom);
で、もう「$dom->html->body->div[1]」みたいなDOMオブジェクトアクセスが可能!でもPHP5限定。
【参照】
PHP5、未整形HTMLをSimpleXMLへ変換
2010/12/27 16:33:54
CSS3で「:not」擬似要素が追加されたが、「:not」が直接指定されている要素以外の条件は無視される模様。
例)
h1:not(.index)はOK
※h1.index以外のH1
body h1:not(body#index h1)はNG
こういうのもダメ、というか「child」系のセレクタは使えないっぽい。
ol li:not(first-child) a
例)
h1:not(.index)はOK
※h1.index以外のH1
body h1:not(body#index h1)はNG
こういうのもダメ、というか「child」系のセレクタは使えないっぽい。
ol li:not(first-child) a
2010/07/05 22:15:19

ワイン、参考にした写真はテカテカしていたのだが、なかなかテカテカしないのでこんな感じで。
カレンダー ▼
Google検索 ▼
カテゴリ ▼
最近のエントリー ▼
最近のコメント ▼
最近のトラックバック ▼
月別アーカイブ ▼
リンク集 ▼