ええと..私は自分でブログを作成していて、「POSTS」のpreg_replaceを作成しました。次に、次のように入力します。
[code="php"]foobar[!code]
彼は印刷します
<script type="syntaxhighlighter" class="brush: $1; html-script: true"><![CDATA[ foobar ]]></script>
このpreg_replaceですべてが正常に実行されます。
/\[code="(.*?)"\]/
(プレフィックス用)
/\[!code\]/
(接尾辞用)
しかし今、私は追加のオプションを追加したいのですが、ユーザーがタイプしたかどうかを確認してください...アイデアはそのようなものになることです:
[code="php" [1,3]]
foo
[!code]
これを返す:
<script type="syntaxhighlighter" class="brush: $1; highlight: [1,3]; html-script: true">...
それ以外の場合、$ 2がない場合(ユーザーが[code = "php"]のみを入力した場合)、これを返します。
<script type="syntaxhighlighter" class="brush: $1; html-script: true">
同じpreg_replaceでこのステートメントを作成するにはどうすればよいですか?事前に感謝し、悪い英語をお詫びします。
編集
*preg_replace_callback*で解決策を達成しました