Обикновено можете да използвате explode с това, но само използването на explode е наивен подход, тъй като трябва да се направи малко почистване,
$array = array_filter( array_map('trim', explode(',', $teams ) ) );
Това прави 3 неща.
- разбийте $teams със запетая
- карта на масива, която изпълнява функция срещу всеки елемент, в този случай изрязване, което премахва интервала
- филтър за масиви, който премахва празни елементи само в случай, че имате елемент като този
item,,
- имайте предвид обаче, че array_filter също ще премахне елементи сfalse
и0
както и празни, но в този случай трябва да е достатъчно.
Сега преобразуването на масива във вашето маркиране трябва да е тривиално от гледна точка на относителността,
echo '<select name="tournament_team" class="form-control" >';
echo '<option value="">--- Select Team ---</option>';
foreach( $array as $item ){
if($_POST['tournament_team'] == $item){
$selected = ' selected="selected"';
}else{
$selected = '';
}
echo '<option value="'.$item.'"'.$selected.'>'.$item.'</option>';
}
echo '</select>';
Няма нужда да избирате елемента по подразбиране, ако той е изобразен първи и няма селекция, той ще бъде избран по подразбиране, $selection
е само за прилепване на формуляра и можете да го пропуснете или модифицирате според вашите нужди.
Последното нещо е, че ще трябва да гледате корпуса тук, защото имате смесени корпуси, така че не съм 100% сигурен кое искате, например india
срещу India
.
За малки букви използвайте strtolower()
за главна първа буква използвайте само ucfirst()
Също така не съм тествал това, но би трябвало да е доста близко без всякакви правописни грешки, които може да съм направил.