HTML テンプレートから変数をキャッチする小さなシステムを構築しようとしています。
@XXX@ として定義された変数は、(必須ではありませんが) コロン (:) で送信される追加のパラメーターを持つ場合があります。つまり、@XXX@:j は、データを json エンコードとして送信します。
私ができることは、変数とそれらの追加のパラメーターをキャプチャするために preg_match_all を作成することです。だから私はこのpregを思いついた:
preg_match_all("/(@.*@(?:(j|n|x|z))?)/imU", $string,$this->localVariables,PREG_PATTERN_ORDER);
j|n|x|z は、利用可能な追加パラメータです。
$string に送信する文字列は次のとおりです: @geterr@ @domain@:j @jhon@:n
preg_match_all から得た結果は次のとおりです。
Array
(
[0] => Array
(
[0] => @geterr@
[1] => @domain@
[2] => @jhon@
)
[1] => Array
(
[0] => @geterr@
[1] => @domain@
[2] => @jhon@
)
[2] => Array
(
[0] =>
[1] =>
[2] =>
)
)
?: はオプションのサブパターンに使用されることを知っています (または知っていると思います) 使用される修飾子は次のとおりです。
私は何が間違っているのか他に手がかりがありません。
どんな助けでも大歓迎です