Firefoxブックマークから要素を抽出する方法

このQ&Aのポイント
  • Firefoxのブックマークからサイト名とURLを抽出する方法をご教示ください。
  • ブックマークにはサイト名とURLが<DT><A HREF="...">...</A>という形式で表示されています。
  • ご教示いただけるPHPのコードを使用して、ブックマークからサイト名とURLを抽出する方法をお知らせください。
回答を見る
  • ベストアンサー

firefoxのブックマークから要素を抽出したい

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のコードをご教示ください。 どうかよろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.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"; }

spinia0120
質問者

お礼

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

関連するQ&A

  • firefoxのブックマークからサイトを開くと、左端に表示されてしまう

    firefoxのブックマークからサイトを開くと、左端に表示されてしまう件。 こんにちは。 まず、大前提として、当方はかなりの素人なので、そのことを前提に教えて頂けると助かります。 なので、間違った表現方法や用語を使用しているかも知れませんが、お察し頂けると、尚助かります。 さて、私のサイトは「車窓.com」というサイトなのですが、 今、新たにサイトを作りなおしています。 その中に、 「お気に入りに登録」ボタン(firefoxではブックマークに登録)というボタンを 作ってみたのですが、 このボタンで実際にfirefoxでブックマークに登録すると、 登録はできるのですが、 firefoxで、たとえば、googleのトップページを開いた状態で、 ブックマーク一覧から、登録した私のサイトを開くと、 左端に表示されて、とても見にくい状態になります。 言っていることがチンプンカンプンかもしれないので、 以下の内容でお試し頂き、内容を御理解して頂けたら、御回答頂けると助かります。 【1】 http://syaso.com/special/ozora というURLにアクセスしてみて下さい。 【2】 「ブックマークに追加」ボタンで追加してみて下さい。 【3】一旦、全て閉じて下さい。 【4】サイド、firefoxからgoogleのトップページでも開いてみて下さい。 【5】ツールバーのブックマークの中から、追加されたであろう「車窓.com キハ183「おおぞら」」    を開いてみて下さい。 【6】恐らく、左端に表示されると思うのですが。    念の為に、画像を添付しましたので、御確認頂けたらと思います。    なにぶん、サイト作りやブラウザなど、ネットに関しては、まるっきりの素人なので、    間違った表現方法や言葉遣いをしているかもしれませんが、    この内容で御理解頂ける方がいましたら、    御回答頂けると助かります。    宜しくお願いします。

  • firefox2からfirefox3でブックマークが古くなった

    OS:windowsXP ブラウザ:現在firefox3 firefox2からfirefox3の移行で最近ブックマークしたものが全てなくなり本当に困っています ネット上に流れる情報でbookmarkbackupsというフォルダの HTMLで保存されているブックマークをインポートして復元できる というのがあったのですが上記のものを実行しても何も変化がありませんhttp://tokuna.blog40.fc2.com/blog-entry-1277.html また公式サイトに載っていた http://support.mozilla.com/ja/kb/Firefox%203%20%E3%81%AB%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E3%81%A8%E3%83%96%E3%83%83%E3%82%AF%E3%83%9E%E3%83%BC%E3%82%AF%E3%82%84%E4%BB%96%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%8C%E5%8F%A4%E3%81%84%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AB%E5%88%87%E3%82%8A%E6%9B%BF%E3%82%8F%E3%82%8B Firefox 2 から設定を引き継ぐには: Firefox ウィンドウ最上部のメニューメニューバーから ファイルFirefox をクリックし、終了Firefox を終了終了 を選択します。 プロファイルフォルダ を開きます。 ブックマーク: places.sqlite のファイル名を places.sqlite.bak に変更してください。 パスワード: signons3.txt のファイル名を signons3.txt.bak に変更してください。 Firefox を再び起動します。 起動すると、Firefox が Firefox 2 の設定データを Firefox 3 に移行します。 を実行しても何も変化がありません C:\Documents and Settings\ユーザ名\Application Data\Mozilla\Firefox\Profiles\英数字列\bookmarkbackups にはtagBookmarks-2008-05-30.sqlite.bookmarks などというファイルがあるのですが何とか この辺りから復元出来ないものでしょうか?

  • ブックマークの使い方を教えてください。

    今利用しているグーブログにブックマークの機能を利用して別の掲示板とリンクさせたいのですがブックマークの使い方を読んでも理解出来ません。 追加する入力項目のサイト名とはリンクしたい掲示板のアドレス、URLは自分のメールアドレス、説明とは掲示板の内容を入力すれば良いのでしょうか? また、その後実際にリンク操作を出来るようにする手順を具体的に教えて頂ければありがたいです。 よろしくお願いします。

  • get_headersでLast-Modified

    あるURLで、get_headersを試したところ、'Last-Modified'が取得できませんでした。] ■質問 ・なぜ、'Last-Modified'を取得出来るサイトと取得できないサイトがあるのでしょうか? ■補足 ・ネットで検索したところ、 >'Last-Modified'を返してないサイトがちらほらあるみたい ▽PHPでwebページの最終更新日時を取得したいのですが・・・ - Yahoo!知恵袋   http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1363447953 と書かれていたのですが、これはどういう意味なのでしょうか? ・ファイル作成後、一度も更新していない ・'Last-Modified'を返さないよう設定している? ・それ以外?

    • ベストアンサー
    • PHP
  • ファビコン導入方法

    いまいち説明サイトを見てもわかりません。。 HTMLのどこに下のサイトはブログに入れたタグなんですが、なんだそうですが、 <link rel="shortcut icon" href="http://specialplan.net/blog/favicon.ico" /> <link rel="shortcut icon" href="自分の場合、自分のURL/image/fabicon.ico" /> ではいけないんですか?もしくは自分のURLの次にindexを入れますか>? そして、imegeのフォルダーの中に入れておけばいいんでしょうか? ファビコン作成ソフトで、書き出しはしています、 <head>の後に書き込めばいいんでしょうか? 要するにファビコンまでのルートを書きますという説明が よくわかりません。 よろしくお願いいたします。

  • ブックマークに保存した画像が開けません。

    ブックマークに保存した画像をブラウザ上で開こうとすると「URL signature expired」という表示が出て画像が開けません。保存してからしばらくの期間はちゃんと開けていました。 こちらはpicdeerというサイトからダウンロードした画像で、ブックマーク上のアイコン(画像ファイル名の左)は「f」(なぜフェイスブックのマークなのかは分かりませんが)の表示です。 どなたか対処方法を教えていただけると嬉しいです。

  • chromeブックマークを復元する方法について

    chromeブックマークに以下のファイルを変換したいのですが、可能でしょうか? 数日前、ブックマークマネージャーに保存していたブックマークを削除してしまいました。バックアップ等を行っていなかったため、ソフトで復旧したところ、ブックマーク本体と思われる拡張子なしファイルが復元されました(冒頭が以下のような文字列でした)。 こちらのファイルをブックマークマネージャーに入れてブラウザで開けるような状態に変換したいのですが、何か良い方法はありますでしょうか? ちなみに以前ブックマークをUSBにエクスポートした際はhtmlという形式のファイルでした。 "checksum": "9c6509633a29dca6c04da4fd1a9cf48c", "roots": { "bookmark_bar": { "children": [ { "children": [ { "children": [ { "children": [ { "date_added": "13251722206000000", "guid": "22f69d80-b492-4c27-a154-d3afe04380df", "id": "812426", "name": "〇〇〇(ブックマーク名)", "type": "url", "url": "https://abcdefg…….html"

  • Javascriptで複数のjsonを読み込みたい

    Javascriptについてご教授頂きたい点があり、質問しました。 私事で、現在とあるサイトの修正を行なっています。そのサイト内の更新情報の部分がJavascriptで制作されており、具体的にはjson形式のファイルをJavascriptで読み込み、HTMLとして出力する形になっています。 質問下部が、そのJavascriptです。 現在はjsonファイルをひとつだけの読み込んで表示しているのですが、 今後コンテンツの拡充するため、2種類のjsonを読み込む必要がでてきました。 jsonファイルの中身や項目ついては2種類ともほぼ同じような内容です。 考えられる様々な方法を試してみたのですが、うまくいかず、質問させていただきました。 どなたかお力添えを頂けないでしょうか。 var result2 = ''; var rec2 = 5; var jsonHostname = "元々のJSONのディレクトリURL"; var jsonUrl = ''; jsondata2 = ""; function callback_whats_new(data2) {callbackCommon2(data2);} function callbackCommon2(data2) { jsondata2 = data2; if(typeof jsondata2 == 'object'){ draw2(); } else { indexDiv2.innerHTML = '<br><div class="t_m" style="text-align:left; margin-left:8px;">当サイトをご覧いただくには、<br>JavaScriptとFlashの再生環境が必要となります。<br><br>' + '詳しくは「<a href="">ご利用に際して</a>」をご覧ください。<br><br></div>'; } } function getIndex2(n2) { var list = n2; var type = list; indexDiv2 = document.getElementById(type); filename = type; var url = jsonHostname + filename + '.json?' + (new Date().getTime()); 元々入っていたjsonファイルののURL var idval = 'jsonp_' + type; var charset = 'utf-8'; charset = charset ? charset : 'utf-8'; var headObj = document.getElementsByTagName('head')[0]; var scriptTag = document.getElementById(idval); if (scriptTag) { headObj.removeChild(scriptTag); } scriptTag = document.createElement('script'); scriptTag.type = 'text/javascript'; scriptTag.id = idval; scriptTag.charset = charset; scriptTag.src = url; headObj.appendChild(scriptTag); } function draw2(e,n1, n2, n3, n4) { result2=""; if (typeof n1 != 'undefined') turn = n1; if (typeof n2 != 'undefined') cat_2 = n2; if (typeof n3 != 'undefined') category = n3; hl = jsondata2.headline; if(typeof rec2!='number'){ hlLength = hl.length; }else if(rec2 > hl.length){ hlLength = hl.length; }else{ hlLength = rec2; } tMon = 0; for (var i = 0; i < hlLength; i++) { wrHTML2(i); } if (result2) { indexDiv2.innerHTML = result2; } else { indexDiv2.innerHTML = '<span class="t_m">該当する情報はありません。</span>\n'; } if (typeof list == 'object' && listNum < list.length) getIndex2(list); } function wrHTML2(n) { var f = 0; var f2 = 0; var icon=""; var date = (jsondata2.headline[n].date) ? jsondata2.headline[n].date : ""; if (cat_2 && cat_2 != Number(date.substr(4,2))) return; var uri = (jsondata2.headline[n].uri.uri) ? jsondata2.headline[n].uri.uri : ""; var tar = jsondata2.headline[n].uri.target; var no = jsondata2.headline[n].txt.no; var txt = (jsondata2.headline[n].txt.txt) ? jsondata2.headline[n].txt.txt : ""; var jsOpenWinFlg; if (-1!= uri.indexOf("/html/")){ if (-1!= (jsOpenWinFlg = uri.indexOf("/report/"))){ var aElementAttr = 'href="JavaScript:popupWin(\''+uri+'\',\'subwin\',\'900\',\'700\');"'; }else if (-1!= (jsOpenWinFlg = uri.indexOf("/news/other/"))){ var aElementAttr = 'href="JavaScript:popupWin(\''+uri+'\',\'subwin\',\'900\',\'700\');"'; }else{ var aElementAttr = 'href="'+uri+'" target="'+tar+'"'; } }else{ var aElementAttr = 'href="'+uri+'" target="'+tar+'"'; } if (date) date = date.substr(2,2) + '/' + date.substr(4,2) + '/' + date.substr(6); result2 += '<table width="100%"><tr>'; result2 += '<td width="17%" valign="top">' + date + '</td>'; result2 += '<td width="83%" valign="top">'; result2 += '<a ' + aElementAttr + '>' + txt + '</a>'; result2 += '</td>'; result2 += '</tr></table>'; } ​

  • firefoxのブックマークの検索の部分の虫眼鏡を

    firefoxのブックマークの検索の部分の虫眼鏡を消したい firefox12.0を使っております。 アドオン「Stilish」を使用し、windowsXPのクラシックスタイルと色を変えるソフトでカスタマイズしております。 firefoxのバージョンが新しくなり、ブックマークのところに検索の入力フォームができました。 こちらに表示される虫眼鏡が不要ですので消したいです。 Stilishにどのように記述すればいいでしょうか? また、できればブックマークのフォルダアイコンも消したいです。 よろしくお願いいたします。 以下stilishに記述してある全文です。 toolbox#navigator-toolbox { border-left: 1px solid ThreeDHighlight !important; } hbox#browser { border-left: 1px solid ThreeDHighlight !important; } hbox#browser .plain { -moz-appearance: listbox !important; } tabbrowser { background: ThreeDFace !important; } tab { -moz-appearance: tab !important; margin-top: 3px !important; } tab[selected="true"] { margin-top: 1px !important; } #searchbar .search-go-button{ display: none !important; } #bookmarksPanel treechildren::-moz-tree-image(container), #bookmarksToolbarFolderMenu, #bookmarksToolbarFolderMenu [container], .bookmark-item[container] { list-style-image: url("chrome://FOLDER_16x16-32.png") !important; -moz-image-region: rect(16px 128px 32px 112px) !important; } sidebarheader { -moz-appearance: none !important; background: black !important; border: none !important; } .tab-icon-image { display:none !important; }

  • ブックマークサイトについてご意見ください

    私は今ソーシャルブックマークサイトの作成をしております。 (規約に抵触するらしくURLは出せませんが) そこで、より良いサイト作りをするために皆さんのご意見を頂きたく 投稿させて頂きました。 ブックマークサイトを使ったことのある方に質問させてください。 ・普段使っているソーシャルブックマーク、オンラインブックマークサイトは? ・どんな機能が特に便利だと思いますか?またはよく使いますか? ・こんな所が不満だ。 ・こんな機能があればいいのになあ。 …などについてお聞かせ頂けると幸いです。 その他、使ってみたけど役に立たなかったとか、そんなもの 必要ないとかのようなご意見もウェルカムです。 よろしくお願いします。 ちなみにソーシャルブックマークがどのようなものか ご存知ない方のため参考まで。 http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%82%B7%E3%83%A3%E3%83%AB%E3%83%96%E3%83%83%E3%82%AF%E3%83%9E%E3%83%BC%E3%82%AF

専門家に質問してみよう