昨日は規制くらってしまいました。
レスありがとうございます。

eregではなくmb_strposにかえたところ、エラーは消えました。
(エラーの原因は − だったようです。)
ところが、今度はまた別の問題が生じました。
mb_strrpos("$datafile[0]","$keyword")
のように、テキストファイルから特定の文字列を探しているのですが、これがうまくいきません。
$datafile[0]と$keywordが同じ文字列でも結果が同じと判定してくれません。(これはprintを使い確かめました)
言葉ではうまく説明できないので、簡単な例をのせてみます。
解決方法をご存知の方いましたら、レスお願いします。


if(mb_strpos($datafile[0],$keyword)!=0){
print("ok");
}else{
print $datafile[0].<BR>;
print $keyword;
}
これで実行しても

漢字 カタカナ ひらがな
漢字

という具合に表示されてしまいます。
(ちなみに、検索語句、検索対象が英字の時はokと表示されます)