プロが教えるわが家の防犯対策術!

PHPでgrepっぽいようなことをしたいと考えています。

I.「キーワード」を含む文を拾ってくる。
II.「タグ」で囲まれている数字を拾ってくる。

例えば、
I.では「北海道」を含む文章を拾ってきたいと考えています。
(日本語です。キーワードは英語ではありません)
II.ではxmlで表記されている<~~>98765</~~>という98765を拾ってきたいと考えています。

http://jp2.php.net/manual/ja/function.preg-grep. …

を参考にしたのですが、ダメでした。

よろしければ、助言いただけないでしょうか?

A 回答 (2件)

>Warning: preg_grep() expects parameter 2 to be array, string given in C:\~~~\~~~\~~~\test.php on line 41


となりました。

これがそのまま原因かと。
訳しますと、「preg_grepの第二引数は配列じゃなきゃだめよ」
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

そのままでしたか・・・^^;

お礼日時:2008/01/22 10:19

どのように書いて、どのように駄目だったのでしょうか?


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はこんな感じで使うと思います。
どの点がダメなのかを書かれると、説明し易いんじゃないかと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
配列ではなく、文字列で取り扱っています。
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さんの教えてくれた上記配列の方法だと上手くいきました!

お礼日時:2008/01/22 07:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!