Добавление строковой переменной PHP в значение текстового поля, которое включает кавычки - PullRequest
2 голосов
/ 22 марта 2011

Я пытаюсь заполнить текстовое поле HTML переменной php.Переменная является строкой с одной кавычкой и извлекается из базы данных.

Когда я повторяю переменную, она выглядит так, как она должна - т.е.«вот моя строка», поэтому он правильно отображает «одинарные кавычки».

Но когда я пытаюсь поместить эту переменную в текстовое поле, т.е.

<? echo("<input type='text' name = 'title' value='$title'/>");?>

Кавычка игнорируется ..

Любая помощь очень ценится, поскольку я пытался запустить переменную через ряд функций форматирования HTML, но безрезультатно.

Ответы [ 3 ]

6 голосов
/ 22 марта 2011

Вы должны изменить это на следующее:

<input type="text" name="title" value="<?php echo htmlentities($title, ENT_QUOTES); ?>" />

htmlspecialchars () и htmlentities () используются для преобразования строк в HTML с правильной кодировкой.

Опция ENT_QUOTES обеспечивает правильное кодирование апострофов и речевых меток.

1 голос
/ 22 марта 2011
<?php echo '<input type="text" name="title" value="'.htmlentities($title, ENT_QUOTES).'" />'; ?>
1 голос
/ 22 марта 2011

Используйте htmlentities или htmlspecialchars с флагом ENT_QUOTES, чтобы экранировать кавычки в тексте перед его выводом.

...