- ベストアンサー
PHPファイルをサイト内検索でヒットさせる方法
MagpieというRSSパーサーを利用してRSSファイルを整形して表示させているのですが、そのページを検索結果に表示させる方法はありますでしょうか。<?php スクリプト ?>で書かれた中を対象とするという意味です。多くの全文検索CGIを試しましたが、スクリプト内の$●●●といったスクリプトそのままの記述が検索されてしまいます。唯一http://www.bekkoame.ne.jp/~zenzo/wts-euc.html こちらを利用して望む結果が得られましたが、インラインフレーム内での表示を希望していますので可能ならば自分で設置したいと考えています。どうぞよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
処理の流れが解らないためなんともいえませんが、grepを使いたいのであれば、$dataの内容を一度ファイルに書き出してしまってはいかがでしょう? 高速さは見込めないかもしれませんが、使用方法によっては有用かも知れません。 $dataが単一の物であればphp関数でマッチさせてあげた方がいいかと思います。 $dataが複数であったり膨大なデータであればファイルに出した方が楽な気がします。 また外してる気がしますが。頑張ってください♪
その他の回答 (1)
- みずの(@mizuno3)
- ベストアンサー率73% (192/263)
やりたいことが微妙に解らないのではずしたらごめんなさい。 「A.phpの出力する内容を検索したい」 でよろしいでしょうか? PHPの結果を返す処理に作り変えてあげるのがスマートな気がします。 簡単にやるのであれば $data = file_get_contents("http://localhost/A.php"); としてやって、検索なら検索、表示なら表示とすればいいのではないでしょうか?
補足
ご回答ありがとうございます。そして説明が至らなくて申し訳ないです。 >「A.phpの出力する内容を検索したい」 でよろしいでしょうか? そういうことなんですが、 $data = $item['item名']; といった具合に、読みこんだファイルからデータを取り出しているのです。したがって、読みこむ側のスクリプトには変数のみでデータは書かれていません。人間が見れば、取り出したデータが反映されているのです。しかしgrep型でもインデクス型でも検索にかけると、 $data = $item['item名']; ソースのまんまが表示されてしまい、取り出したitem名がデータとして検索対象にならないのです。当然のことですが、可能にする方法或いはスクリプトが無いかと思い質問させて頂きました。やはり無理でしょうか。
お礼
なるほど。ファイルに書き出すことができるのですか。 スクリプト探しを止めてPHPを学ばねばなりませんね。配布スクリプトに頼ってばかりでしたので。 どうもありがとうございます。独自に書き出す方法を学んでみます。