Escape двойные кавычки с переменной внутри HTML echo

Для переменной внутри эха, которая содержит HTML, где бы я добавил косые черты, чтобы избежать двойных кавычек?

Пример:

echo "<input type=\"hidden\" name=\"id\" value=".$row['id']." />";

Эта часть:

value=".$row['id']."

Ответы

Ответ 1

Некоторые советы по выпуску HTML с PHP:

  • Используйте одинарные кавычки, чтобы вам не приходилось избегать двойных кавычек (при использовании эха),
  • Используйте htmlspecialchars(), чтобы правильно избежать любых значений "мошенников", которые могут быть у вас.

Пример использования echo:

echo '<input type="hidden" name="id" value="', htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'), '" />';

Или printf():

printf('<input type="hidden" name="id" value="%s" />', 
    htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8')
);

Или в режиме HTML:

?>
<input type="hidden" name="id" value="<?php echo htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'); " />
<?php

Ответ 2

Используйте htmlentities:

echo "<input type=\"hidden\" name=\"id\" value=\"".htmlentities($row['id'])."\" />";

Ответ 3

Как использовать одиночные кавычки, чтобы вам не приходилось избегать кавычек. Например:

echo '<input type="hidden" name="id" value="'.$row['id'].'" />';