我有麻煩提取變量之間的標記之間的幾個字符串,以便單獨在一個範圍內回顯它們。
事情是,有問題的標籤是由一個變量決定的,這裏是什麼樣子:通過使用preg_match從一個變量中提取多個字符串
<?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>
?>
這是使用的preg_match我第一次和嘗試這麼多型動物的事情我有點失去了,現在後。
基本上我想包含在標籤[$lang
]和[/ $lang
](在我爲例$lang = "en_UK"
,但它會在用戶的cookie確定之間的每一個字符串中提取。
我想一些幫助搞清楚了這一點,如果可能的話,
感謝
謝謝你的回答,是的,我有點迷失在我的嘗試中。你怎麼認爲$ lang會在你的代碼中輸出「en_UK」?或者我需要像'preg_match_all(「/\[".$ lang。」\](。+?)\ [\ /。。$ lang。「\] /」,$ string,$ outputs_list); '?謝謝 ! – eloism
因爲你使用雙引號,所以或者會工作。我已經把它作爲一個答案。 – chris85