• ベストアンサー

mb_eregについて

初歩的な質問かもしれませんが、 DB内の1つのカラムに 「a1,a3,a5,a7,a9」という値が格納されてる時、 if(ereg("a9",$str)){ echo "ok"; } という「ereg」を使った条件式でしたら、正常に値が返るのですが、 if(mb_ereg("a9",$str)){ echo "ok"; } と、「mb_ereg」を使用した時には 「Call to undefined function: mb_ereg()」 というエラーが返ってくるのですが これは何が原因なのか、お分かりになる方はいらっしゃいますでしょうか?

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

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

> 「Call to undefined function: mb_ereg()」 「mb_eregという存在しない関数を呼び出しました。」とあるね。 「そんなこと無い、ちゃんとマニュアルにもその関数は書かれてるもん!」と思うだろう。確かにPHPのリファレンスにこの関数はかかれている。 原因は、mb_stringというPHP拡張モジュールが存在しない事にある。 PHP拡張モジュールが存在しない理由は次の2つ。 1.PHPがそもそもマルチバイトサポートでコンパイルされていない。 2.php.iniの中でmb_string拡張モジュールを読み込んでいない。 君がそのサイトの管理者であれば、phpそのものの設定を調べて修正すべし。そうでないならば管理者にお願いしよう。

関連するQ&A