Php ile html doğrulanıyor

2 Cevap php

Something is wrong with my print "<option value..."; line of php code.

It keeps generating error messages: an attribute value specification must be an attribute value literal unless SHORTTAG YES is specified

<option value = Addition>Addition</option>
<and so on...>

Peki, nasıl ben bu kod satırı düzeltirim:

//foreach loop to cycle through the array
      foreach ($testFiles as $myFile)
      {
        $fileBase = substr($myFile, 0, strlen($myFile) - 5);
       **//Problem here:**
        print "<option value = $fileBase>$fileBase</option>\n";
      } // end foreach

öyle ki bu html uyumlu var php kod çalışıyor, sen php doğrulamak olamaz çünkü ben sadece, html doğrulama ihtiyacı ve değişken $ fileBase bir html dosyası başvuruyor, bu durumda eklenmesi için ayrılan dosyalardan biri olacaktır bulunuyor $ fileBase.

2 Cevap

print "<option value = \"$fileBase\">$fileBase</option>\n";

Bunu yapmalıyım

Diğer birkaç seçenek vardır:

Sen printf kullanabilirsiniz:

printf('<option value="%s">%s</option>', $fileBase, $fileBase);

A here-doc:

echo <<<HTML
	<option value="$fileBase">$fileBase</option>
HTML;

Sen (genellikle iyi bir tekniktir, ama çok güzel burada) geçici PHP üzerinden damla olabilir:

<?
foreach ($testFiles as $myFile) {
	$fileBase = substr($myFile, 0, strlen($myFile) - 5);
	?>
	<option value="<?= htmlentities($fileBase) ?>"><?= htmlentities($fileBase) ?></option>
	<?
}
?>

Ama gerçekten, ne yapıyor olması gerektiğini orada birçok çiftleşmiş sistemlerinden birini kullanarak, ve kod ile HTML karıştırma değil.