-2

変更しようとしている Web ゲームの一部の php コードを継承しました。私はこの行に出くわしましたが、それが何をしているのかわかりません。誰か助けてくれませんか?$notice は通常の文字列です。

$notice = preg_replace("#([\S]{60})#i", "\\1 ", $notice);
4

1 に答える 1

7

で空白以外の 60 文字の連続したシーケンスを検出し$notice、その後にスペースを挿入します。

  • (..)キャプチャ グループを作成します。\1これは、置換文字列で参照される最初のグループであるためです。パターン全体がグループ内にあるため、ここでは実際には必要ありません。
  • [..]文字クラスを作成しますが、メタ文字が 1 つしか含まれていないため、ここでも実際には必要ありません。
  • \S空白以外の任意の文字に一致
  • {60}数量詞です。「60回繰り返す」という意味です。

このコードは次と同等です。

$notice = preg_replace("#\S{60}#i", "\\0 ", $notice);
于 2013-07-13T21:43:17.440 に答える