ホームページ  >  記事  >  バックエンド開発  >  PHPで定期的な置換を使用する方法

PHPで定期的な置換を使用する方法

Guanhui
Guanhuiオリジナル
2020-05-05 17:24:543160ブラウズ

PHPで定期的な置換を使用する方法

#PHP での通常の置換は、

preg_replace の概要

preg_replace を使用します- 正規表現の検索と置換を実行します。

preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) : mixed

パターンに一致する件名の部分を検索し、置換に置き換えます。

preg_replace パラメータ

pattern

検索するパターン。文字列または文字列の配列を指定できます。

いくつかの PCRE 修飾子を使用できます。

replacement

置換に使用する文字列または文字列の配列。この引数が文字列でパターンが配列の場合、すべてのパターンがこの文字列で置き換えられます。 pattern と replace が両方とも配列の場合、各パターンは replace の対応する要素で置き換えられます。置換の要素がパターンの要素よりも少ない場合、余分なパターンは空の文字列に置き換えられます。

置換には後方参照 \\n または $n を含めることができますが、文法的には後者の方が優先されます。このような各参照は、n 番目に一致するサブグループによってキャプチャされたテキストに置き換えられます。 n は 0 ~ 99 で、\\0 と $0 は完全なパターン マッチング テキストを表します。キャプチャ サブグループのシリアル番号のカウント方法は次のとおりです。キャプチャ サブグループを表す左括弧は、1 から開始して左から右に数えられます。置換にバックスラッシュを使用したい場合は、4 ("\\\\"、翻訳者の注釈: これは最初は PHP 文字列であるため、エスケープ後は 2 つあり、その後正規表現エンジンを通過した後が考慮されます)テキストのバックスラッシュ)。

置換モードで作業しており、後方参照の後に別の数値を続ける必要がある場合 (例: 一致するパターンの直後に元の数値を追加する)、構文 \\1 は使用できません。後方参照について説明します。たとえば、 \\11 を指定すると、 preg_replace() は \\1 後方参照の後にソース 1 が続くのか、または \\11 後方参照の後に何も続かないのかを理解できなくなります。この場合の解決策は、${1}1 を使用することです。これにより、別の $1 後方参照、別の source1 が作成されます。

非推奨の e 修飾子を使用する場合、この関数は一部の文字 (つまり、'、"、\、および NULL) をエスケープし、後方参照の置換を実行します。これが完了するときは、参照が解析された後、一重引用符や二重引用符によって引き起こされる構文エラーはありません (例: 'strlen(\'$1\') strlen("$2")')。PHP の文字列構文に準拠し、eval 構文に準拠していることを確認してください。置換が完了すると、エンジンは eval メソッドを使用して結果の文字列を PHP コードとして評価し、戻り値を置換に参加する最終文字列として使用します。検索および置換 文字列または文字列配列。

subject が配列の場合、検索と置換は subject の各要素に対して実行され、戻り値も配列になります。

limit

各主題のパターンごとの置換の最大数。デフォルトは -1 (無制限)です。

count

指定された場合、完了した置換の数が入力されます。 .

preg_replace の戻り値

subject が配列の場合、preg_replace() は配列を返し、それ以外の場合は文字列を返します。

If If a一致が見つかった場合は、置換されたサブジェクトが返され、それ以外の場合は、変更されていないサブジェクトが返されます。エラーが発生した場合は、NULL が返されます。

以上がPHPで定期的な置換を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。