変数からタグ間の複数の文字列を抽出して、スパンの内側に個別にエコーします。
事は、ここでは、問題のタグが変数によって決定されることになるようにそれが見えるものです:それはするpreg_matchを使用して私の最初の時間だと私はちょっと今迷ってしまいましたので、多くの貴様の事を試した後preg_matchを使用して1つの変数から複数の文字列を抽出します。
<?php
$string = "[en_UK]english1[/en_UK][en_UK]english2[/en_UK][fr_FR]francais1[/fr_FR][fr_FR]francais2[/fr_FR][fr_FR]francais3[/fr_FR]";
$lang = "en_UK";
preg_match("/(.[$lang]), (.[\/$lang])/", $string, $outputs_list);
foreach ($outputs_list as $output) {
echo "<span>".$output."/span>";
}
// in this exemple I want to output :
// <span>english1</span>
// <span>english2</span>
?>
。
基本的に私は私のexemple $lang = "en_UK"
にタグ[$lang
]と[/ $lang
](間に含まれるすべての文字列を抽出したいが、それは、ユーザーのクッキーによって決定されます。
私は場合は、これを考え出すいくつかの助けが欲しいです正規表現で可能な、
おかげ
あなたの答えをありがとう、はい私はちょっと私の試みで失われました。あなたは$ langがあなたのコードで "en_UK"を出力すると思いますか?または、 'preg_match_all("/$ {lang。 "\](。+?)\ [\ /"。$ lang。 "\] /"、$ string、$ outputs_list)のようにエスケープする必要があります。 '?ありがとう! – eloism
あなたは二重引用符で囲まれているので、どちらかが動作します。私は答えとしてそれを動かしました。 – chris85