-3

この警告があります。非推奨: 関数 ereg_replace() は非推奨です。誰か助けてください。

ereg_replace:

ereg_replace('([^(folder)])/images/flash', '"/folder/images/flash', $echotemp);

preg_replace:

4

2 に答える 2

0

差出人:ereg_replace

注:
PHP 5.3.0以降、正規表現拡張機能は廃止され、PCRE拡張機能が優先されます。この関数を呼び出すと、E_DEPRECATED通知が発行されます。PCREへの変換については、相違点のリストを参照してください。

ヒント

Perl互換の正規表現構文を使用するpreg_replace()は、多くの場合、ereg_replace()よりも高速な代替手段です。

読む:PCRE正規表現構文


そしてあなたのパターンのために:

PCRE関数を使用する場合は、パターンを区切り文字で囲む必要があります。区切り文字には、英数字、円記号、空白以外の任意の文字を使用できます。

よく使用される区切り文字は、スラッシュ(/)、ハッシュ記号(#)、チルダ(〜)です。

区切り文字をパターン内で一致させる必要がある場合は、円記号を使用してエスケープする必要があります。区切り文字がパターン内に頻繁に表示される場合は、読みやすさを向上させるために別の区切り文字を選択することをお勧めします。したがって、パターンは次のようになります。

([^(folder)])/images/flash
[^(folder)]で使用している[]は、単語全体ではなく、文字セットを指定するためのものです。単純なパターンを使用し、検索パターンを複雑にしない方がよいでしょう。

%^/folder/images/flash%
これはもっと簡単です。 I am using % as delimiter for readability.stackoverflowは見出し:Pとして扱うため、#を使用しません。

于 2011-12-27T10:29:46.693 に答える
0

非推奨のメソッドは、将来、使用している言語から削除されるメソッドです。言語の仕様とロードマップを制御できない限り、あまり力を発揮できません。

この方法は引き続き使用できますが、将来の更新で消える可能性があります。通常、この方法に関するサポートでは、新しい推奨方法への切り替えを推奨するだけです。

ereg_replace の置換メソッドを使用することをお勧めします。

于 2011-12-27T09:04:59.713 に答える