-1

これは私が受け取っているエラーです

Deprecated: Function eregi() is deprecated in /home/socia125/public_html/profile.php on                  
line231

これは私のコードです

// Loop through the array of user agents and matching operating systems
   foreach($OSList as $CurrOS=>$Match) {
    // Find a match
    if (eregi($Match, $agent)) {
            break;

どんな助けでも大歓迎です

4

3 に答える 3

2

さて、マニュアルの引用として

この関数は、PHP 5.3.0 で非推奨になりました。この機能に依存することはお勧めできません。

preg_match()代わりに使用してください。eregiただし、検索パターン 1:1 を からに変換できないため、少し注意してくださいpreg_match()

違いを示す例:

$t = "this is a test...";
if (preg_match("/test/i", $t)) echo "match!";
if (eregi('test', $t)) echo "match!";

PHP マニュアルには、PCRE 構文に特化した章全体があります。

ただし、単純に文字列を見つけようとしているだけの場合は、strstrまたはstristrのようなものを使用してください。これらの方が高速で使いやすいです。

于 2012-06-11T13:34:39.097 に答える
1

preg_matchの代わりに使用しeregiます。

しかし、文字列を検索するだけのように見えるので、代わりに使用できるかもしれませんstripos.

// Loop through the array of user agents and matching operating systems
   foreach($OSList as $CurrOS=>$Match) {
    // Find a match
    if (stripos($Match, $agent) !== FALSE ) {
            break;

$Matchすべてのコード (特に と の内容と値の例$agent)が表示されないため、正常に動作することを保証できません。

于 2012-06-11T13:34:07.273 に答える
0

eregi() は 5.3 で非推奨になりました。これは単なる警告であるため、無視してかまいません。

代わりに preg_match() を使用することをお勧めします。

こちらのリンクを参照してください

于 2012-06-11T13:32:29.847 に答える