2010-11-28 11 views
6

私はPHPを学び始めました。 Windows 7マシンにWAMPサーバーをインストールしました。私は、次のPHPコードをしようとしています:関数ereg()は非推奨です

Deprecated: Function ereg() is deprecated in C:\wamp\www\learnphp\common.php on line 3 
The expression matches 

私はコードが正しいと思う:

<?php 
$phrase = "I love PHP"; 
if (ereg("PHP", $phrase)) { 
    echo "The expression matches"; 
} 
?> 

私モジラでこれを試してみました、私は出力を得ました。私はエラーを理解することはできません。この「廃止された」とは何を意味するのですか?どのようにこのエラーを解決するには?

私のPHPバージョンは5.3.0です。それはバージョンの問題になりますか?

EDIT:私はそれをgoogledし、wwwフォルダ内のinclude \ file.incファイルについて何かを見つけました。私は私のwwwフォルダにディレクトリを含んでいません。

答えて

13

"非推奨"は、その機能をサポートしていないことを意味します。 ereg()をもう存在しないものとして扱うべきです。

機能はまだ存在しますが、使用されている既存のアプリケーションをサポートするためだけに機能します。新しいコードを書くときは、廃止予定の関数を使用しないでください。

代わりに、preg_matchの機能を考慮してください。

+0

リンクをありがとう。あなたのケースでは – narayanpatra

+0

、コードはpreg_match( "@ PHP @"、$ phrase) – fedmich

6

この機能は、今後のバージョンではPHPから削除される予定です。あなたはもはやあなたのコードでそれに頼るべきではなく、代わりに示唆された選択肢を使うべきです。 PHPのereg, heed the notice in the PHP Manualの場合

:PHP 5.3.0のよう

、正規表現の拡張は、PCRE拡張の賛成で廃止されました。この関数を呼び出すと、E_DEPRECATED通知が発行されます。 PCREへの変換については、list of differencesを参照してください。

また、PHPマニュアルのE_DEPRECATEDの説明も参照してください。
PHP5.3で推奨されなくなった機能については、Deprecated features in PHP 5.3.xを参照してください。
もっと一般的な情報についてはWikipedia article on Deprecation in Software

+3

これはまた、あなたが学んでいるチュートリアルが忌まわしく古いものであり、あなたは現代的なものを見つけるべきであることを意味します。 – Quentin

-2

これは、使用している機能が廃止されたことを意味します。これ以上使用することはできません。 PHP 5.5.6でも同じエラーが発生しました。あなたの問題の1つの可能な解決策は、サポートされるようにPHPバージョンをダウングレードすることです。