• ベストアンサー

ローカルにあるファイルを検索する方法

テキストエリアに単語を入力し、ボタンを押すと その単語を含む、ローカルのhtmlファイルを検索して、 その結果を検索サイトのように表示させるような ことをしたいと考えているのですが、 どういった方法で実現させればいいか分かりません。。。 ファイルを直接読み込まなくても、別途 ファイル毎に検索キーワードを設定して プログラムに埋め込んで、表示させるような やり方でもかまいません。 できれば具体的な指南を希望します。 よろしくお願いいたします m(_ _)m

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

  • ベストアンサー
noname#84373
noname#84373
回答No.4

自分が書いたものをながめていたら、複合検索(AND)出来そうだと考えた。 半角スペースで区切って 該当しそうなKeyを複数入力 たとえば 'g m' で、ぐ~ぐるマップとか・・・ 簡単なデータベースになれそう? <html> <body> Key Word:<input type="text" id="key" size="30" onKeyup="chk()"><hr> <div id="n"a></div> <script> var tmID; document.getElementById('key').onkeyup = function(){tmID=(clearInterval(tmID),setInterval(chk,350))}; var List=[ ['google','http://www.google.co.jp/' ], ['yahoo','http://www.yahoo.co.jp/' ], ['javascript','http://oshiete1.goo.ne.jp/qa4342528.html' ], ['javascript2','http://oshiete1.goo.ne.jp/c254.html' ], ['javascript3','http://oshiete1.goo.ne.jp/qa4342528.html' ], ['javascript4','http://oshiete1.goo.ne.jp/c254.html' ], ['guti','参考になったとかさぁ~' ], ['guti2','いったいどれぐらい勉強したらプロになれる?' ], ['googlemap','http://maps.google.co.jp/maps?hl=ja&tab=wl' ] ]; function chk(){ var ht=''; var key=document.getElementById('key').value.replace(/(\s+)/g,' ').replace(/^ | $/g,''); if(!key) {document.getElementById('n').innerHTML='';return;} var Arkey = key.split(' '); for(var i=0,mx=List.length,c=1;i<mx;i++){ for(var j=0,f=0,mx2=Arkey.length;j<mx2;j++) if(List[i][0].match(new RegExp(Arkey[j]))) f++; if(f==mx2) { var s=(List[i][1].match(/http:/))?'<a href="'+ List[i][1] +'">'+List[i][1]+'</a>':List[i][1]; ht+=c+'. ['+List[i][0]+'] / '+s+' <br>'; if(++c>10) break; } } document.getElementById('n').innerHTML=(ht=='')?'該当なし':ht; } </script> </body> </html>

denpanounabara
質問者

お礼

勉強不足でした。 丁寧な回答ありがとうございました。

その他の回答 (4)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.5

そう言う処理は専用のエンジンを載せたツールをつかうのがベターでしょう いろいろ公開されているテキストエディタのグレップ&タグジャンプが 最適だと思いますよ。

denpanounabara
質問者

お礼

勉強不足でした。 回答ありがとうございました。

noname#84373
noname#84373
回答No.3

プログラムに埋め込むなら。 データのセンスはないから。 コピペした後urlの前後の?に注意。 <html> <body> Key:<input type="text" id="key" size="10" onKeyup="chk()"><hr> <div id="n"a></div> <script> var tmID=null; document.getElementById('key').onkeyup = function(){ if(tmID) { clearInterval(tmID); tmID=null; } tmID=setInterval("chk()",350); }; var List=[ ['google','http://www.google.co.jp/' ], ['yahoo','http://www.yahoo.co.jp/' ], ['javascript','http://oshiete1.goo.ne.jp/qa4342528.html' ], ['javascript2','http://oshiete1.goo.ne.jp/c254.html' ], ['javascript3','http://oshiete1.goo.ne.jp/qa4342528.html' ], ['javascript4','http://oshiete1.goo.ne.jp/c254.html' ], ['guti','参考になったとかさぁ~' ], ['guti2','いったいどれぐらい勉強したらプロになれる?' ], ['googlemap','http://maps.google.co.jp/maps?hl=ja&tab=wl' ] ]; function chk(){ var ht=''; var key=document.getElementById('key').value; if(!key) {document.getElementById('n').innerHTML='';return;} for(var i=0,mx=List.length,c=1;i<mx;i++){ if(List[i][0].match(new RegExp(key,'i'))){ var s=(List[i][1].match(/http:/))?'<a href="'+ List[i][1] +'">'+List[i][1]+'</a>':List[i][1]; ht+=c+'. ['+List[i][0]+'] / '+s+' <br>'; if(++c>10) break; } } document.getElementById('n').innerHTML=(ht=='')?'該当なし':ht; } </script> </body> </html>

noname#140925
noname#140925
回答No.2

悪意を持ったスクリプトを未然に防ぐため、JavaScriptではローカル環境にアクセス出来ないようなセキュリティ対策が仕様の時点で組み込まれています。 従って、ローカルファイルを検索する、というような事はJavaScriptの仕様上実現不可能です。 IE限定で良ければ、ローカル環境へアクセスするためのActiveXを作成し、JavaScriptからそのActiveXをコールする、という方法でなら可能です。

denpanounabara
質問者

お礼

勉強不足でした。 回答ありがとうございました。

  • NNori
  • ベストアンサー率22% (377/1669)
回答No.1

>ファイルを直接読み込まなくても、別途 >ファイル毎に検索キーワードを設定して >プログラムに埋め込んで、表示させるような >やり方でもかまいません。 こっちの方が大変です。自分で作りたいのであれば、検索したいファイルを全部読み込みキーワードが含まれているか否かを調べるほうがよっぽど簡単です。

denpanounabara
質問者

お礼

勉強不足でした。 回答ありがとうございました。

関連するQ&A

  • PDFファイルに表示されているテキスト検索は可能ですか?

    ホームページを作成する際に、ページのリンクボタンからPDFファイルにリンクさせ、そのPDFファイルのテキストのキーワードを検索できるようにしたいと考えています。 AcrobatのPDFファイルに表示されているテキストを検索することはできるのかどうか教えてください。 1.ブラウザ上でできるのか。 2.ブラウザ上に表示させているPDFファイルのテキストのキーワードを検索しようとした場合、ASPやJavaScript等プログラムを作成すれば検索は可能となるのか。 質問が下手ですみませんが、ヒントでもいいので是非教えてください。宜しくお願いします。

  • ローカルファイルの表示

    ローカルのテキストを読込み、下記のようなテキストエリア内へ表示する事は可能でしょうか? java scriptでやってみたのですが、ローカルでしか無理なようでした。 CGIではどうか教えて頂けませんか? 初心者で申し訳ありませんが、宜しくお願い致します。 <form name="form1"> <input type=file name="file"> <textarea rows="30" cols="30" name="text1"> (ここへローカルのテキストファイルを表示したい。) </textarea>

    • ベストアンサー
    • CGI
  • ローカルファイルへのアクセス

    Flash8を使っています。 web上のflashファイルからローカルにあるファイルにアクセスしたいのですが、できません。 間に他のプログラムをかませてもかまいませんので、やり方を教えていただきたいです。 具体的にはflash側でイベントがあったら(ボタンを押すなど何でもいいのですが) ローカルにおいてあるbatファイルを実行したいのです。 ちなみにハンゲームってflashのwebページからローカルに保存しているクライアントを立ち上げてますよね? あれってどうやってやっているのでしょうか?

    • ベストアンサー
    • Flash
  • 検索後に対象キーワードを表示させる方法について(値でなくラベルを表示させる方法)

    PHP+MySQLを利用しています。 検索プログラムで、検索後に対象キーワードを表示させる方法について教えてください。 ---------------------------------------- [検索ボックス] <select name="area" id="area"> <option value="1">東京</option> <option value="2">大阪</option> </select> ---------------------------------------- 検索後↓ <?= $area ?>の検索結果です。 ・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・ このとき、<?= $area ?>の部分ですが、東京を選択しても、値が1なので、1と表示されますよね? ここで、東京と表示させるテクニックはあるのでしょうか? 大雑把な質問で申し訳ありませんが、何かアドバイスなどご指南頂ければ、幸いです。

    • ベストアンサー
    • PHP
  • ファイルの検索について

    WindowsXPを使用しています。 検索コンパニオンを用いてファイルを検索する際、 キーワードに該当するファイルが明らかに存在するにも関わらず、 一瞬で検索が終わり「何も見つかりませんでした」と言われるようになりました。 『ファイル名のすべてまたは一部』 『ファイルに含まれる単語または句』どちらも同様の結果です。 詳細設定オプションは(ファイルとフォルダのすべて)になっています。 これまでは特に問題なかったのですが、突然上記のような症状が出ました。 ローカルディスク(Cドライブ等)でもネットワークドライブ上でも同じです。 別のパソコンから同じネットワークドライブを検索すると、 きちんと実行されて結果が表示されます。 過去のデータを参照することが多いため、今現在、大変不便です。 なにか設定を変更すれば元のように検索できるようになるでしょうか。

  • こんなソフトウェアを探しています。(複数のファイルからテキスト検索)

    こんにちは。PHPファイルのコードを編集しています。フリーのダウンロードしてきたPHPファイルなのですが、ブラウザ上に表示されるテキスト部分の色やサイズ、文章などを変更したいのですが、ファイルがたくさんありすぎててもどこにあるのか見当がつきません。そこで複数のテキストファイルの中から特定のキーワードを検索できるプログラムを探しています。知ってたらぜひ教えてください。お願いします。

  • 外部テキストファイルの読み込みで

    VC#.NET(もしもC言語のカテゴリでしたらご指摘下さい) テキストボックスに単語を入力し、検索ボタンを押すことで、入力した単語とそれの解説が別個に用意されたファイル(01.txt)の中から抽出できる(下部リッチテキストボックスに表示される)プログラムを組みたいと思っております。 このようなプログラムは、いわゆるデータベースのカテゴリに属するのでしょうか?ファイルを読み込んだり検索したりするものはできたのですが、外部ファイルから部分的に読み込ませるというのがどうにもわかりません。 もしも上記のような説明でわかるという方がいらっしゃいましたら、ご教授ください。

  • vb.net WindowsAPでテキストファイル表示とキーワード検索

    vb.net WindowsApricationで以下の機能を実現したいと思います、どのコントロールを使用すれば良いのか教えてください。 ・テキストファイルをVB画面で編集不可で開く。(千行以上程度) ・キーワードを別途用意したTextBoxに入力して、ボタンを押すと、そのキーワードのところにカーソルが飛んで適切にスクロールする。 要するにエディタを読み込み専用で開いたような状態です。 標準装備のコントロールでは無理なら、ワードパッドかワードのオブジェクトを利用してそのファイルを読み込み専用で開きたいのですが。 どうやれば出来ますか?

  • 検索をする際一文字ずつ入れてデータベースを反映したい

    質問タイトルが分かりにくくてすいません。 現在、データベースに登録しているユーザのデータを 引っ張ってくるアプリを作っています。 普通にテキストエリアにユーザー名を入れて 検索ボタンを押して、 検索結果を出すのは可能なのですが、 最近よく見かける「郵便番号入力による住所検索」のように 郵便番号を入力し終わると勝手に結果が表示される見たいな物を 作りたいと思っております。 データベースはMySQLを使っているので きっとAJAX+PHP+MySQLで実現できると思うのですが具体的に どのようにプログラムを書くのか分かる方 ご教授ください。

  • ファイル内の語句を検索しファイル一覧を表示させる

    皆様のお力をお借りいただければ幸いです。 私は、社内のポジションで、WebTool(仮称)なるものを作成・管理をしています。 従業員の方より、機能リクエストがあり実現できないものかと苦戦しています。 色々と調べてみましたが、どうしても実現できず、どなたかに教えていただきたく ご質問させていただきました。 リクエスト内容は以下のとおりです。 WebTool(仮称)上で、「特定のフォルダ」に格納されているファイル内の「語句を検索」し 該当の語句が含まれるファイルを一覧表示させ、表示されたファイル名をクリックする事で ファイルを開く事ができないだろうか。 ※WebTool(仮称)とは、htmlで作成した言わばホームページのようなブラウザ用ツール ※特定のフォルダとは、社内ローカルネットワーク内の特定フォルダ ※検索対象ファイルは、Excel2003ファイル ※端末は、WindowsXP ※使用ブラウザは、Internet Explorer 8 上記のリクエストを、javascriptなどを使ってhtmlへ組み込み テキストボックスに、検索語句を入力し「検索ボタン」をクリックすると インラインフレーム内に、検索されたファイル一覧を表示させられると リクエストに合った形になるのですが、実現できず試行錯誤している 状態です。 物理的に不可能なのでしょうか? 以上、よろしくお願い致します。

専門家に質問してみよう