2012-04-07 8 views
0

次の操作を行った後、空白になります。eregi()をpreg_match()に置き換えた後、空白のページが表示される

$patt="(BEGIN:|END:)[[:blank:]]*([0-9a-zA-Z\_]+)[[:blank:]]*-->(.*)"; 
if (eregi($patt,$v,$res)) 

が正常に動作して、

は、今私は

$patt="(BEGIN:|END:)[[:blank:]]*([0-9a-zA-Z\_]+)[[:blank:]]*-->(.*)"; 
    if (preg_match('#'.$patt.'#',$v,$res)) 

次、今私は空白のページを取得していて、コードの上に置き換えられています。

誰もがこれについて考えていますか?

+0

HM、[eregi()](http://php.net/manual/en/function.eregi.php)は大文字小文字を区別しない検索であり、あなたが行うことができます最初の事はで 'i'修飾子を追加することです[preg_match()](http://www.php.net/manual/en/function.preg-match.php)のように、「#あなたのパターン#i」のように。また、PHPでの[POSIXとPCREとの違いについて](http://php.net/manual/en/reference.pcre.pattern.posix.php)のドキュメント(特に[コメント](http://www.php。 net/manual/en/reference.pcre.pattern.posix.php#106310))。 – Wh1T3h4Ck5

答えて

2

eregiは大文字と小文字を区別しないため、iを追加する必要があります。

if (preg_match('#'.$patt.'#i',$v,$res)) 
+0

まだ同じ問題が発生しています – mack

関連する問題