正規表現は私のものではありません。:(
次のような複数のサブ文字列を含む可能性のある文字列があります。
[var1="111" var2="222" var3="222" var4="444"]
基本的に、各オカレンスを、各変数を取得する関数の結果に置き換える必要があります。
$string = '[var1="111" var2="222" var3="333" var4="444"]';
$regex = 'var1="(.*)" var2="(.*)" var3="(.*)" var4="(.*)"';
function doit($matches){
return "<strong>".implode(", ", $matches) ."</strong>";
}
echo preg_replace_callback($regex,'doit',$string);
私は111、222、333、444を期待しています。
しかし、私は愛を感じていません。どんな助けでもいただければ幸いです!
編集:いくつかの説明..
私は質問のために単純化していた。
「vars」は実際には「var1」とは呼ばれず、「var2」は[recID = "22" template = "theName" option = "some value"、type="list"]のようになります。
コールバックは、私の単純な実装よりも複雑になります...「id」を使用してデータベースに接続し、レコードを取得してテンプレートに挿入します...したがって、コールバックが必要です...
一致する値は、数値だけでなく、ほとんど何でもかまいません。