現在の位置: ホーム> 関数カテゴリ一覧> preg_replace_callback_array

preg_replace_callback_array

正規表現検索を実行し、コールバックの交換を使用します
名前:preg_replace_callback_array
カテゴリ:通常の処理PCRE
対応言語:php
一言説明:式をコールバック関数に関連付ける配列が与えられた場合、各式のすべての一致がコールバック関数によって返されるサブストリングに置き換える文字列を返します。

定義と使用法

preg_replace_callback_array()関数は、文字列または文字列の配列を返します。ここで、一連の正規表現マッチがコールバック関数の返信値に置き換えられます。

注:各文字列について、関数は指定された順序でパターンを評価します。文字列上の最初のパターンを評価した結果は、2番目のパターンの入力文字列として使用されます。これは予期しない動作につながる可能性があります。

例1

文の各単語に含まれる文字または数字の数を示します。

 <?php
function countletters ( $ matches ) {
  $ matches [ 0 ]を返します。 '[' 。 strlen ( $ mates [ 0 ] ) 。 '手紙]' ;
}

関数countDigits ( $ matches ) {
  $ matches [ 0 ]を返します。 '[' 。 strlen ( $ mates [ 0 ] ) 。 'digit]' ;
}

$ input = "1年に365日あります。" ;
$ patterns = [
  '/\ b [az]+\ b/i' => 'countletters' 、
  '/\ b [0-9]+\ b/' => 'countdigits'
] ;
$ result = preg_replace_callback_array ( $ patterns 、 $ input ) ;
echo $ result ;
?>

自分で試してみてください

例2

この例は、パターンが連続的な評価で持つ可能性のある潜在的な予期しない効果を示しています。まず、カウントレターの交換により、「[4Letter]」の後に「[4Letter]」が追加されます。交換品を実行した後、CountDigitsの交換は「4レット」で「4」を見つけて「[1Digit]」を追加します。

 <?php
function countletters ( $ matches ) {
  $ matches [ 0 ]を返します。 '[' 。 strlen ( $ mates [ 0 ] ) 。 '手紙]' ;
}

関数countDigits ( $ matches ) {
  $ matches [ 0 ]を返します。 '[' 。 strlen ( $ mates [ 0 ] ) 。 'digit]' ;
}

$ input = "365日" ;
$ patterns = [
  '/[az]+/i' => 'countletters' 、
  '/[0-9]+/' => 'countDigits'
] ;
$ result = preg_replace_callback_array ( $ patterns 、 $ input ) ;
echo $ result ;
?>

自分で試してみてください

類似の関数
  • 正規表現によって区切ります preg_split

    preg_split

    正規表現によって区切ります
  • パターンに一致する配列エントリを返します preg_grep

    preg_grep

    パターンに一致する配列エントリを返します
  • グローバルな正規表現マッチングを実行します preg_match_all

    preg_match_all

    グローバルな正規表現マッチングを実行しま
  • 正規表現検索を実行し、コールバックに置き換えます preg_replace_callback

    preg_replace_callback

    正規表現検索を実行し、コールバックに置き
  • 最後のPCRE正規表現実行のエラーメッセージを返します preg_last_error_msg

    preg_last_error_msg

    最後のPCRE正規表現実行のエラーメッセ
  • 最後のPCRE定期的な実行によって生成されたエラーコードを返します preg_last_error

    preg_last_error

    最後のPCRE定期的な実行によって生成さ
  • 正規表現マッチングを実行します preg_match

    preg_match

    正規表現マッチングを実行します
  • 正規表現検索を実行し、コールバックの交換を使用します preg_replace_callback_array

    preg_replace_callback_array

    正規表現検索を実行し、コールバックの交換