電子書籍の厳選無料作品が豊富!

firefoxのブックマークを出力したbookmark.htmlからサイト名とURLを抽出しようと思います。

見たところサイト名とURLは、たとえば
<DT><A HREF="http://www.sixapart.jp/movabletype/" ADD_DATE="1223904194" LAST_MODIFIED="1240186614" ICON_URI="http://www.sixapart.jp/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAZ0lEQVQ4jd2QMQ3AMAwEi8KwHlCAZDCMBxAIHgIgAELiO7VL5SmtqvZGyzr9/7b9C5ICIAAiqeM+ZhfDxXCN2ZUKAMjMZGYCcD4yXLUV1VbE8AcFyxXeJ4uaVbuQjZWNe79gucI32QEeD6YBAaJBcgAAAABJRU5ErkJggg==" LAST_CHARSET="UTF-8">Movable Type: 世界標準の CMS プラットフォーム</A>

というような感じで
<DT><A HREF="http://url.com ADD_DATE="123456789" LAST_MODIFIED ICON_URI="http://www.co.jp/icon.ico" ICON="data:image/png;base64,AAAAAAA……" LAST_CHARSET="CHARSET">サイト名</A>\n
というように表現されています(\nは正規表現)。
ただ、中にはLAST_CHARSETがないものもありますし、ICONが存在しないものもあります。

ここから
http://url.com_サイト名\n
などという形式で抜き出したいです。

しかし、私にはこの<DT>以下を抜き出して表示する正規表現を書くことができません。

どなたかこのようなブックマークを抽出することができるPHPのコードをご教示ください。
どうかよろしくお願いします。

A 回答 (1件)

こんなんで。



$bm = file_get_contents('bookmarks.html');
preg_match_all('/href="(.*?)".*?>(.*?)</i', $bm, $m);
foreach ($m[0] as $key => $val) {
echo "{$m[1][$key]} {$m[2][$key]}" . "\n";
}
    • good
    • 0
この回答へのお礼

ありがとうございます。
大変参考になりました。

お礼日時:2011/08/24 21:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!