タグ中のテキストノードを取得する方法
DOMモジュールをhogeってたところ、PHPPROでタイムリーな質問があったので関数書いてみた。
/** * 最初のノードに入ってるテキストノードを返す * * @param string $html パースする文字列 * @return string タグに入っていた最初のテキストノードの中身 * ex. * get_innerHTML('<p>hoge</p>') = 'hoge'; * */ function get_innerHTML($html){ $d=domxml_open_mem($html); $root=$d->document_element(); $f=$root->first_child(); return $f->content; }
preg_matchとかもうイヤだー!という人にお勧め。
厳密にやるなら再帰的にテキストノードを探しにいくべきだな、と思った。FIXME!