ここ最近、覚えてよかったなーと思ったCSSテクニックをまとめてみる
CSSテクニックは時代とともに変わっていくけれど、ここ1年ほどスタメンレベルで使うCSSテクニックが絞られてきたので、ここらでちょっと個人的にもまとめておこうかと。 (続きを読む…)
CSSテクニックは時代とともに変わっていくけれど、ここ1年ほどスタメンレベルで使うCSSテクニックが絞られてきたので、ここらでちょっと個人的にもまとめておこうかと。 (続きを読む…)
そんなみなさん、お待たせしました。日本の数ある苗字で占いしてランキングをつける微妙な占いサービス作ったよ。メジャーな苗字はカバーしているけれど、珍しい苗字はないかも…。言ってもらえれば追加しますんで。
あぁ、またしても意味不明なものを作ってしまった…。
XMLだと、simplexml_load_file()っていう便利な関数がPHP5からあるけれど、HTMLはタグを取り除くぐらいしかない…というわけで、探してみたらHTMLをパースするライブラリがあった。
その名もまんまな、PHP Simple HTML DOM Parser。
include('simplehtmldom/simple_html_dom.php');
$html = <<<EOM
<ul>
<li>aaa</li>
<li>bbb</li>
<li>ccc</li>
</ul>
EOM;
$data = str_get_html($html);
foreach($data->find('li') as $element){
echo $element->plaintext;
}
#=>aaabbbccc
//URLやフィある名を指定して取得することも出来。
//その際は、 str_get_html() ではなく file_get_html() 。
$html = file_get_html('http://www.yahoo.co.jp/');
簡単な使い方は上記の通り。サイトにも書いてある通り、jQueryチックな使い方ができるので、以下のようなこともできる。
include('simplehtmldom/simple_html_dom.php');
$html = <<<EOM
<ul>
<li>aaa</li>
<li id="hoge">bbb</li>
<li>ccc<strong>ddd</strong></li>
</ul>
EOM;
$data = str_get_html($html);
foreach($data->find('#hoge') as $element){
echo $element->plaintext;
}
#=>bbb
foreach($data->find('li strong') as $element){
echo $element->plaintext;
}
#=>ddd
echo $data->find('li',1)->id;
#=>hoge
データを抜き出すだけではなく、HTMLを書き換えることもできる。
$html = <<<EOM
<ul>
<li>aaa</li>
<li>bbb</li>
<li>ccc</li>
</ul>
EOM;
$data = str_get_html($html);
$data->find('ul',0)->class = 'hoge';
$data->find('li',2)->innertext = 'piyo';
echo $data;
#=><ul class="hoge">
#=> <li>aaa</li>
#=> <li>bbb</li>
#=> <li>piyo</li>
#=></ul>
非常に便利なので、色々と使い道がありそう。
こんなお悩み、普通のPHPerなら悩む必要ないよね。あーあ、なんで今まで気がつかなかったんだろう。アホすぎる。普通にstr_replace() で実現可能じゃないか。置換対象に配列指定可能。
$str = 'iPad欲しい。Xperia欲しい。お金欲しい。';
$search = array('iPad','Xperia','お金');
echo str_replace($search,'彼女',$str);
#=> 彼女欲しい。彼女欲しい。彼女欲しい。
$str = 'iPad欲しい。Xperia欲しい。お金欲しい。';
$search = array('iPad','Xperia','お金');
$replace = array('あれも','これも','もっともっと');
echo str_replace($search,$replace,$str);
#=> あれも欲しい。これも欲しい。もっともっと欲しい。
配列で複数指定した場合の置換する順序は、配列の一番上から。つまり左から右へ。
$str = 'a';
$search = array('a','b','c');
$replace = array('b','c','d');
echo str_replace($search,$replace,$str);
#=> d
今日は池袋のジュンク堂へ。
Webアプリケーション関連のテストについての本を買おうと思ったのだけど、なかなか良いのがなくて、結局別のものを買ってしまった。
高校生の数学レベルかな?たぶん。もう昔のこと過ぎて全然追いつけなくて笑える。いや、笑えないけど。数学をもう一度勉強してみようかなーって思っていたので、読みやすくて興味がでてきやすいので、良かった。
まだ、ぱらぱらっとしか目を通していないけど、サイトを表示する際のパフォーマンスをどのように上げるか、もしくは何がボトルネックになりやすいのかが分かりやすく書かれている。
よくはてブでホットエントリーになっていたりするネタが集まっている感じ。これ、調べてみたら続編も出ているらしい。そっちはジュンク堂のくせに置いていなかったので、中身は分からないけど、気になるなぁ。