この記事の例では、php5.3 の関数 ereg() が非推奨であるエラーの問題を解決する方法を説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです
1. 質問:
PHP 5.3 ereg() は正常に使用できず、「関数 ereg() は非推奨です。エラーです」というプロンプトが表示されます。これは関数がアップグレードされており、preg_match のようなルールに // を使用する必要があるためです。 php5.3 も ereg のリズムを失いました。
PHP 5.3 ereg() は正常に使用できず、「Function ereg() is deprecated Error」というメッセージが表示されます。
問題の根本は、PHP には posix と perl の 2 つの正規表現メソッドがあり、PHP6 では posix 正規表現メソッドを廃止する予定であるため、後から preg_match が追加されました。この問題の解決策は非常に簡単です。 ereg の前にフィルター プロンプト情報シンボルを追加するだけです。 ereg() を @ereg() に変更します。これによりプロンプト情報がブロックされますが、根本的な問題はまだ解決されていません。PHP バージョン 5.2 より前では、通常は ereg が使用されていました。PHP 5.3 以降では、ereg の代わりに preg_match を使用する必要があります。したがって、このようにする必要があります。
元: ereg("^[0-9]*$",$page) は次のようになります: preg_match("/^[0-9]*$/",$page)
特別な注意: posix と perl の表現の明らかな違いはスラッシュを追加するかどうかです。そのため、ereg と比較すると、後者は正規表現の前後に 2 つの "/" 記号を追加しますが、これは必須です。
例:
変更前:
追加: この問題はphp5.2より前のバージョンでは発生しません。
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。