Pour une variable à l'intérieur d'un écho contenant du HTML, où ajouter des barres obliques pour échapper aux guillemets doubles?
Exemple:
echo "<input type=\"hidden\" name=\"id\" value=".$row['id']." />";
Cette partie:
value=".$row['id']."
Quelques conseils sur la sortie HTML avec PHP:
htmlspecialchars()
pour échapper correctement toutes les valeurs "voyous" que vous pourriez avoir.Exemple utilisant echo
:
echo '<input type="hidden" name="id" value="', htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'), '" />';
Ou printf()
:
printf('<input type="hidden" name="id" value="%s" />',
htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8')
);
Ou, en mode HTML:
?>
<input type="hidden" name="id" value="<?php echo htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'); ?>" />
<?php
Utilisez htmlentities
:
echo "<input type=\"hidden\" name=\"id\" value=\"".htmlentities($row['id'])."\" />";
Que diriez-vous d'utiliser des guillemets simples pour ne pas avoir à échapper à des guillemets. Ainsi:
echo '<input type="hidden" name="id" value="'.$row['id'].'" />';