• ベストアンサー

PHPファイルをサイト内検索でヒットさせる方法

MagpieというRSSパーサーを利用してRSSファイルを整形して表示させているのですが、そのページを検索結果に表示させる方法はありますでしょうか。<?php スクリプト ?>で書かれた中を対象とするという意味です。多くの全文検索CGIを試しましたが、スクリプト内の$●●●といったスクリプトそのままの記述が検索されてしまいます。唯一http://www.bekkoame.ne.jp/~zenzo/wts-euc.html こちらを利用して望む結果が得られましたが、インラインフレーム内での表示を希望していますので可能ならば自分で設置したいと考えています。どうぞよろしくお願いします。

  • teils
  • お礼率50% (1/2)
  • PHP
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
回答No.2

処理の流れが解らないためなんともいえませんが、grepを使いたいのであれば、$dataの内容を一度ファイルに書き出してしまってはいかがでしょう? 高速さは見込めないかもしれませんが、使用方法によっては有用かも知れません。 $dataが単一の物であればphp関数でマッチさせてあげた方がいいかと思います。 $dataが複数であったり膨大なデータであればファイルに出した方が楽な気がします。 また外してる気がしますが。頑張ってください♪

teils
質問者

お礼

なるほど。ファイルに書き出すことができるのですか。 スクリプト探しを止めてPHPを学ばねばなりませんね。配布スクリプトに頼ってばかりでしたので。 どうもありがとうございます。独自に書き出す方法を学んでみます。

その他の回答 (1)

回答No.1

やりたいことが微妙に解らないのではずしたらごめんなさい。 「A.phpの出力する内容を検索したい」 でよろしいでしょうか? PHPの結果を返す処理に作り変えてあげるのがスマートな気がします。 簡単にやるのであれば $data = file_get_contents("http://localhost/A.php"); としてやって、検索なら検索、表示なら表示とすればいいのではないでしょうか?

teils
質問者

補足

ご回答ありがとうございます。そして説明が至らなくて申し訳ないです。 >「A.phpの出力する内容を検索したい」 でよろしいでしょうか? そういうことなんですが、 $data = $item['item名']; といった具合に、読みこんだファイルからデータを取り出しているのです。したがって、読みこむ側のスクリプトには変数のみでデータは書かれていません。人間が見れば、取り出したデータが反映されているのです。しかしgrep型でもインデクス型でも検索にかけると、 $data = $item['item名']; ソースのまんまが表示されてしまい、取り出したitem名がデータとして検索対象にならないのです。当然のことですが、可能にする方法或いはスクリプトが無いかと思い質問させて頂きました。やはり無理でしょうか。

関連するQ&A

  • サイト内全文検索CGI、インデックス無、検索拡張子指定可

    サイト内全文検索CGIを探しており、いろいろなScriptを見てきました。 ですが、自分の理想としている物がみつかりませんでした。 改造も試みたんですが想うようにいきませんでした。 次の条件に当てはまるCGIがありましたら教えてください ・Perlでかかれている ・インデックス作成型ではない ・検索する拡張子を指定できる htmのみ、htmlのみ、txtのみ、または複数指定といった感じです ・検索結果を数件ずつに分けて表示できる 検索すると1件から20件を表示し、次のページで21件から40件を表示するといった感じです 改造された再配布のものでもいいです。 上の様な全文検索CGIを知っていたら教えてください。 宜しくお願いします

    • 締切済み
    • CGI
  • atomのフィードをphpで出力したい

    よろしくお願い致します。 phpの勉強を最近始めまして、 ブログの更新情報をphpで作ったページに出力させたいと思っています。 <?PHP require_once("RSS.php"); $rss=new XML_RSS("http://xmlのアドレス?"); $rss->parse(); ?> <h1><?php print(mb_convert_encoding($rss->channel['title'],"EUC-JP","auto")); ?></h1> <ul> <?php foreach($rss->items as $item){ ?> <?PHP print(mb_convert_encoding($item['$title'],"EUC-JP","auto")); ?> <li> <a href="<?php print($item['link']); ?>"> <?php print(mb_convert_encoding($item['title'],"EUC-JP","auto")); ?> </a> </li> <?php } ?> </ul> こんなスクリプトでrss1.0はタイトルとリンクが上手く表示されるのですが、atomのフィードで表示させようとするとtitleは表示されるのですがlinkが上手く取得できません。 ネットで検索してみたのですが、 通常atomのフィードはMagpieRSS等を利用してrss1.0等に変換したのちに上記のようなスクリプトを利用して表示させるという考え方でよろしいでしょうか? またatomのフィードをスクリプトで表示させる参考になるおすすめのサイトをご存知でしたらURLを教えていただけますでしょうか? どうぞ皆様ご指導よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 検索結果数の表示(○件ヒット)by CGI rescue

    CGI rescueさんの簡易データベース v2.1を利用しています。 物はこちらです。 http://www.rescue.ne.jp/cgi/database2/ (バージョンが3になっていますが、検索部分は同じのようです。) これで、検索結果が何件ヒットしたのかを表示させたいです。 スクリプト内に「$hit」があったので、そのまま利用しようとすると、"1ページの表示数(またはそれ以下)"を表示してしまいます。 30件ヒットして1ページに20件表示の場合、1ページ目は「20件ヒット」、次ページは「15件ヒット」と表示されてしまいます。 どうにかして全部の検索件数を表示させることは出来ないでしょうか?

    • ベストアンサー
    • Perl
  • RSSをHTMLに貼り付けるCGI

    RSSで取得したトピックをHTMLに貼り付けるのに、現在 「大黒屋本舗」さんのjsRSSを使っています。インラインフレームを 使うのは嫌なので、このCGIを選択したのですがが、これはJavaScript で貼り付ける仕様なんですが、HTMLの読み込みが遅くなります。 インラインフレームを使わず、HTMLにRSSを貼り付けることが可能な CGI、またはPHPのフリースクリプトは無いでしょうか? ■大黒屋本舗 http://www.daikoku-ya.org/

    • 締切済み
    • CGI
  • htmlから、ファイル、もしくはCGI実行結果を表示

    htmlのページを開いたときに、部分的にCGIの実行結果、もしくはファイルの中身を表示することは出来ないでしょうか。「インラインフレームを設けて・・・」という意味ではなく、たとえばページを開くごとにある行の数字だけ数字が増えていく、といったカウンターのようなことが出来るようにしたい。 そういうCGIスクリプトを作っているので、CGIをまったく使わないというのは無しで、またSSIは使わないこと前提でお願いします。

    • ベストアンサー
    • Perl
  • サイト内検索について

    サイト内検索を設置したいのですが、無料HPをレンタルしているためCGIが使えません。ドメインを複数使用しているので、一度に利用しているすべてのドメインの結果を表示したいと思っています。今までWeb Trace Searchを利用していたのですが、最近検索結果が表示されなくなってしまいました。(自サイトだけでなく色々なアドレスで試してみましたが、ダメでした) そこで、 ・Web Trace Searchを再度問題なく利用することはできないか? ・Web Trace Searchと同様にリンクしている全ページの検索ができ、設置が簡単な無料サイト内検索があるか? について、ぜひどなたか教えていただけないでしょうか。よろしくお願いします。

  • 自分のサイト内検索のスクリプトを探しています

    トップページに検索フォームを配置し、検索をして、検索結果を別のページに切り替えるか、ジャンプできるスクリプトを探しています。たいていは検索ページそのままで、結果が下より表示してしまいます。これじゃトップレイアウトのデザインが崩れてしまいます。 googleの検索のようなものが理想です。ついでにUTF8対応が望ましいですが… 探してもなかなか見つかりませんでした。 CGIでもPHPでも構いません。 宜しくお願いします。

    • ベストアンサー
    • CGI
  • 検索サイトの情報を取得

    gooなどの検索エンジンで、それぞれ検索条件を入力して検索結果をブラウザで表示するものを、まとめて処理するPHPを作りたいと考えています。 流れとしては、 1.自分のサイトのPHPの条件入力欄に条件を入力 2.それぞれの検索サイトへ検索データをPOST・GETする 3.それぞれ返ってきた結果を整形して、一覧で概要表示 と考えています。 ここで、通常返ってきた結果をブラウザで表示させている、検索結果をPHPスクリプトで取得できるのでしょうか? できれば、その方法などを教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • さくらレンタルサーバーでのMagpieRSS設置方法

    さくらインターネットサーバーを使用しています。 RSSをサイトに表示しようとしています。javaタイプではなく、ロボット検索エンジンに認識されるものとしてPHPを試しています。 そこで、MagpieRSSを利用したいと考えているのですが、 http://www.kosaki.name/cms/movable-type/rss-html/ http://ameblo.jp/yamasita-94nsr/entry-10018566158.html を参考に、 indexと同じ階層に magpie / rss.php(属性755)      │  jcode.php      │  code_table.ucs2jis      │  rss_cache.inc      │  rss_fetch.inc      │  rss_parse.inc      │  rss_utils.inc      │      ├ extlib / Snoopy.class.inc      │      └ cache (属性755) をアップロードし、rss.php内を <?php require_once 'rss_fetch.inc'; require_once 'code_table.ucs2jis'; require_once 'jcode.php'; $url = 'httpから始まるRSSのURL'; $rss = fetch_rss($url); $title = $rss->channel['title']; //JcodeConvert($str, $from, $to) //0:PASS(無変換)1:EUC-JP 2:Shift_JIS 3:ISO-2022-JP(JIS) 4:UTF-8 $title = JcodeConvert($title, 4, 2); foreach ($rss->items as $item ) { $title = $item[title]; $title = JcodeConvert($title, 4, 2); $url = $item[link]; echo "<li><a href=\"$url\">$title</a></li>\n"; } ?> と記述。 http://www.サイトURL/magpie/rss.phpを表示して動作確認をしようとしたのですが、真っ白で何も表示されません。 設定方法がおかしいのでしょうか。

    • ベストアンサー
    • PHP
  • htmlからのphp結果表示

    お世話になります。 掲題の件での質問ですが、行き詰まったので教えてください。 現在、以下の処理をしていますが (1)phpにてrss結果を取得し、echoにて出力 (2)htmlにて、(1)の結果を<iframe>にて取得して表示 (2)にて、インラインフレームではなく、通常の文章ライクに表示したいのですが 受け取り方、表示の仕方がわかりません。。。 <?php include("xxx.php"); ?> としても何も表示されないので困っています。 よろしくお願いします。