Экранирование одинарных и двойных кавычек при отображении динамического текста в текстовом поле с использованием PHP - PullRequest
3 голосов
/ 27 декабря 2011

Я хочу отобразить текст в виде html (текстовое поле), который приходит из БД, поэтому я использовал следующий код

....
.....
<input type="text" name="txtqname" id="txtqname" value="<?=$myvar ?>"></input>
....
.....

Здесь $ myvar - это переменная, значение которой приходит из БД и которая может содержать одинарные или двойныецитаты.Из-за этого мой текст не отображается должным образом в текстовом поле, как я хочу.Я пытался заменить двойные кавычки на одинарные как

....
.....
<input type='text' name='txtqname' id='txtqname' value='<?=$myvar ?>'></input>
....
.....

, но все равно не получил правильный текст.Пожалуйста, помогите мне.

Заранее спасибо ...

Ответы [ 4 ]

7 голосов
/ 27 декабря 2011

Просто, все, что вам нужно сделать, это:

<input type="text" name="txtqname" id="txtqname" value="<?= htmlspecialchars( $myvar ) ?>"></input>
3 голосов
/ 27 декабря 2011

Просто используйте htmlentities() или htmlspecialchars()

http://php.net/manual/de/function.htmlentities.php

0 голосов
/ 22 августа 2014

Вы можете использовать функцию htmlentities с ENT_QUOTES,

Пример: htmlentities ($ myvar, ENT_QUOTES);

ENT_QUOTES Преобразует как двойные, так и одинарные кавычки.

0 голосов
/ 27 декабря 2011

Для форматирования данных вы должны использовать addlashes () и stripslashes () Убедитесь, что все данные правильно отформатированы перед вставкой в ​​базу данных.Также попробуйте это mysql_real_escape_string ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...