STRING:正規表現の修正
$string = '{$string#anything#something this string will output default |ucfirst|strtoupper}';
PREG_REPLACE_CALLBACK CODE(PHP):
$string = preg_replace_callback('/\{\$?([^# ]+)\#?([^ ]+)? ?([^|]+)?[ \|]?([^\}]+)?\}/', $matches, $string);
OUTPUT($マッチ):
Array
(
[0] => {$string#anything#something can you hear me? |ucfirst|ucfirst|ucfirst|strtoupper}
[1] => string
[2] => anything#something
[3] => can you hear me?
[4] => ucfirst|strtoupper
)
要件:{$string this string will output default |ucfirst|strtoupper}
の代わりに、私は{$string this string will output default ucfirst|strtoupper}
を使用したい(通知:ucfirst
の前のパイプサインが削除されます) ;
重要:出力(つまり、$ matches配列)は、上記と同じに見えます。
お読みいただきありがとうございます。私はあなたの関数を変更して、あなたのコードを試してみました