• ベストアンサー

PHPでgrepする件について

PHPでgrepっぽいようなことをしたいと考えています。 I.「キーワード」を含む文を拾ってくる。 II.「タグ」で囲まれている数字を拾ってくる。 例えば、 I.では「北海道」を含む文章を拾ってきたいと考えています。 (日本語です。キーワードは英語ではありません) II.ではxmlで表記されている<~~>98765</~~>という98765を拾ってきたいと考えています。 http://jp2.php.net/manual/ja/function.preg-grep.php を参考にしたのですが、ダメでした。 よろしければ、助言いただけないでしょうか?

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

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

どのように書いて、どのように駄目だったのでしょうか? I,II共に第2引数は配列ですか? 文字列ですか? ----------------------------- $a[0] = "aaaaa"; $a[1] = "aaaab"; $a[2] = "aaaba"; $a[3] = "aabaa"; $a[4] = "abaaa"; $a[5] = "baaaa"; $out = preg_grep ("/aaaa/", $a); print_r($out); ----------------------------- preg_grepはこんな感じで使うと思います。 どの点がダメなのかを書かれると、説明し易いんじゃないかと思います。

makisi3
質問者

お礼

回答ありがとうございます! 配列ではなく、文字列で取り扱っています。 mizuno3さんのように実験してみたのですが、以下のようになりました! $htmlという変数に文字列が入っているtest.phpで実験しました。 $out = preg_grep ("/html/",$html); print_r($out); すると、 Warning: preg_grep() expects parameter 2 to be array, string given in C:\~~~\~~~\~~~\test.php on line 41 となりました。 どこが悪かったのでしょうか;? なお、mizuno3さんの教えてくれた上記配列の方法だと上手くいきました!

その他の回答 (1)

回答No.2

>Warning: preg_grep() expects parameter 2 to be array, string given in C:\~~~\~~~\~~~\test.php on line 41 となりました。 これがそのまま原因かと。 訳しますと、「preg_grepの第二引数は配列じゃなきゃだめよ」

makisi3
質問者

お礼

回答ありがとうございます! そのままでしたか・・・^^;

関連するQ&A