ホームページ > バックエンド開発 > PHPチュートリアル > PHP コードを「ereg」正規表現から「preg」正規表現に移行するにはどうすればよいですか?

PHP コードを「ereg」正規表現から「preg」正規表現に移行するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-26 11:38:10
オリジナル
201 人が閲覧しました

How Do I Migrate My PHP Code from `ereg` to `preg` Regular Expressions?

PHP での EReg から PREG への移行

PHP 5.3.0 以降、POSIX 正規表現 (ereg) は非推奨になり、採用が必要になりました。 Perl 互換の正規表現 (preg) の説明。この移行では、preg_match との互換性を確保するために、既存の ereg 式を変更する必要があります。

構文の違い

重要な構文の変更には、式への区切り文字の追加が含まれます。 ereg とは異なり、preg では正規表現の前後に区切り文字が必要です。区切り文字には、~、/、# などの文字、または括弧 ([]、()、{} など) を使用できます。

preg_match('/^hello/', $str); // Using '/' as a delimiter
preg_match('[^hello]', $str); // Using square brackets as a delimiter
ログイン後にコピー

エスケープ区切り文字

選択した区切り文字が正規表現内にある場合は、バックスラッシュを使用してエスケープします().

preg_match('/^\/hello/', $str);
ログイン後にコピー

preg_quote の使用

すべての区切り文字と予約文字を包括的にエスケープするには、preg_quote:

$expr = preg_quote('/hello', '/');
preg_match('/^'.$expr.'/', $str);
ログイン後にコピー

大文字と小文字を区別しないマッチング

大文字と小文字を区別しないマッチングを実行するには、i 修飾子を利用します。

preg_match('/^hello/i', $str);
ログイン後にコピー

指定された例の変換

提供された例、 eregi('^hello world') は、 preg_match を使用して簡略化できるため、 preg_match に変換しないでください。ストリップス関数:

以上がPHP コードを「ereg」正規表現から「preg」正規表現に移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート