Значение параметра PHP предполагает из простого файла

Как я мог сделать эта форма предлагает слова в первый столбец $ data?
Это то, что я пытаюсь, но не работает. Как видите, я не могу заставить его работать с <option value>

<?php

$data = '
Naranja:Orange
Manzana:Apple
Tomate:Tomato
Zanahoria:Carrot
Lechuga:Lettuce
Plane:Avión';


if($data && !empty($_GET['word'])) {
$line = explode("\n", $data);
for($i = 0; $i<count($line); $i++) {
$item = explode(":", $line[$i]);
if($_GET['word'] == $item[0]) { echo"<div>" . $item[0] . "</div> <div>" . $item[1] . "</div>"; break; }
}
}


else {echo '

<form>
<input type="text" name="word" list="spanishlist" autocomplete="off">
<datalist id="spanishlist">
<option value="' . $item[0] . '">
</datalist>
</form>

';
}
?>

2

Решение

<?php

$data = 'Naranja:Orange
Manzana:Apple
Tomate:Tomato
Zanahoria:Carrot
Lechuga:Lettuce
Plane:Avión';

$pairs = explode("\n",$data);
$options = [];
$selected = '';
$html = '';
foreach($pairs as $pair) {
$parts = explode(':', $pair);
if (!empty($_GET['word']) && $_GET['word']==$parts[0]) {
$html .= "<div>" . $parts[0] . "</div> <div>" . $parts[1] . "</div>";
}
$options [] = '<option value="' . $parts[0] . '">';
}
$html .= '<datalist id="fruits">';
$html .= implode($options);
$html .= '</datalist>';
$html .= '<input list="fruits">';

echo $html;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]