電子書籍の厳選無料作品が豊富!

こんばんは。PHP初めて間もないド素人です。とあるサイトを参考に、バイナリセーフ関数とかいうのととそうでない関数の処理の違いを検証してみようと思い、以下のコードを試してみました。
<?php
//preg_match関数がバイナリセーフ関数である事を検証する。
//正規表現文字列にマッチしない文字があれば1を返す。
$kekka=preg_match('/[^a-zA-Z0-9_]/','oh_my_god\x00@');
$kekka2=ereg_match('/[^a-zA-Z0-9_]/','oh_my_god\x00@');
print($kekka);
print("<br/>");
print($kekka2);
?>
<!--<html>タグがないのにいきなり<br/>
とか打っても大丈夫か試してみる。
print_rと打ってみたらなにか変わるか試してみる。-->
<br/>
<?php
print_r($kekka);
?>

これを試した結果、
Fatal error: Call to undefined function ereg_match() ......
というエラーがでました。ereg_match関数についてインターネットで
調べてみたのですがヒット率が異常に悪く「もしかしてpreg_match?」
とか表示されたりもしました。今php5を使ってますが、もしかして
この関数はもうなくなった関数なのでしょうか?

A 回答 (1件)

ereg_match()という関数は存在しませんね。


preg_match()に対応する関数は、ereg()です。
#ただし、「Perl 互換の正規表現構文を使用する preg_match() のほうが、多くの場合 ereg() よりも速く動作します。 」
 とあり、preg_match()の利用が推奨されています。

参考URLに、ereg関数のオンラインマニュアルをリンクしておきます。
ご参考ください。

参考URL:http://search.net-newbie.com/php/function.ereg.h …
    • good
    • 0
この回答へのお礼

ありがとうございます。ereg関数チェックしました!おかげさまで
スッキリしました。

お礼日時:2007/12/07 21:04

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