- ベストアンサー
PHPでgrepする件について
PHPでgrepっぽいようなことをしたいと考えています。 I.「キーワード」を含む文を拾ってくる。 II.「タグ」で囲まれている数字を拾ってくる。 例えば、 I.では「北海道」を含む文章を拾ってきたいと考えています。 (日本語です。キーワードは英語ではありません) II.ではxmlで表記されている<~~>98765</~~>という98765を拾ってきたいと考えています。 http://jp2.php.net/manual/ja/function.preg-grep.php を参考にしたのですが、ダメでした。 よろしければ、助言いただけないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
どのように書いて、どのように駄目だったのでしょうか? 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はこんな感じで使うと思います。 どの点がダメなのかを書かれると、説明し易いんじゃないかと思います。
その他の回答 (1)
- squirrely
- ベストアンサー率20% (1/5)
>Warning: preg_grep() expects parameter 2 to be array, string given in C:\~~~\~~~\~~~\test.php on line 41 となりました。 これがそのまま原因かと。 訳しますと、「preg_grepの第二引数は配列じゃなきゃだめよ」
お礼
回答ありがとうございます! そのままでしたか・・・^^;
お礼
回答ありがとうございます! 配列ではなく、文字列で取り扱っています。 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さんの教えてくれた上記配列の方法だと上手くいきました!