2011-07-19 20 views
1

私はオープンソースプログラムを持っています。私はウェブサイトに統合しようとしています。私は自分の開発LAMPセットアップで問題を引き起こしているコードを更新したいと思います。推奨されないeregiコール、preg_match修正が必要

if ($dbselect) 
     { 
      if (!eregi('utf',strtolower($script_encoding)) && !defined('IN_LOGINPAGE')) 
      { 
       mysql_query("SET NAMES 'utf8'"); 
      } 
       else if (empty($script_encoding) || eregi('utf',strtolower($script_encoding))) 
      { 
       mysql_query("SET NAMES 'utf8'"); 
      } 

     } 

誰かがそれを修正し、私は次のようになり理由を説明することができれば、私はeregi呼び出しが廃止されていることを知っているとするpreg_matchが使用されるべきものですが、それは私に次のエラーを与える...

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in 

大いに感謝します。

TIA(事前のおかげで)

答えて

2

あなたは、英数字以外と非バックスラッシュ文字(各側に同じ1)とプリプレグ式をラップする必要があります。これに代えので

、:

eregi('utf',strtolower($script_encoding)) 

この

// wrapped in '#' (# and/are the two most common. I use # almost exclusively in PHP 
// so that I don't have to escape the /) 
// i = case insensitive, so you don't need strtolower 
preg_match('#utf#i',$script_encoding) 
+0

は、ひどく高速応答のために歓声をありがとう... –

関連する問題