1

このコードを書くと:

$pat='^[A-Za-z][a-zA-Z0-9_\-\.]*@[a-zA-z0-9\-]+\.[a-zA-Z0-9\-\.]+$';
$mail='javad.y1';
ereg($pat,$mail);

私はこのエラーが発生しています:

非推奨: 関数 ereg() は C:\wamp\www\Test\test.php の 10 行目で非推奨です

4

3 に答える 3

6

Error : Deprecated: Function ereg() is deprecated」というステートメントは、あなたの質問にほとんど答えています。

より現代的な同等のものを使用するという点では、PHP マニュアルのPOSIX 正規表現との違いのページと、今後使用する必要があるpreg_match関数を参照してください。

または、エキサイティングなさらなる読み物については、http: //en.wikipedia.org/wiki/Deprecatedをチェックしてみてください。

サンプルコードで更新

メールを検証しようとしている場合は、次を使用できます。

if(preg_match("/^[A-Za-z][a-zA-Z0-9_\-\.]*@[a-zA-z0-9\-]+\.[a-zA-Z0-9\-\.]+/", $email)) {
    // The email is valid. Yay for stuff! And things!
}

とはいえ、これが必ずしも最良のアプローチであるとは言えません。

于 2011-03-25T23:39:04.883 に答える
2

ereg()は推奨されていないためです。preg_match()代わりに使用する必要があります。

于 2011-03-25T23:38:48.990 に答える
0

代わりに、Perl 互換の RegExを使用できるようになりました。

POSIX正規表現:

As of PHP 5.3.0 this extension is deprecated,  calling any function

この拡張機能によって提供されると、E_DEPRECATED 通知が発行されます。

于 2011-03-25T23:40:29.280 に答える