2014-10-06 14 views
0

У меня есть вар, содержащий ', "специальный символ " '

$var = "Hello \" World '";

<input type="text" value="<?= $var ?>" >

, когда браузер делают этот код выше мы видим входной элемент, содержащий только„Hello“.

как решить эту проблему без использования специальных символов, таких как &rdquo; в строках Db, должны содержать ', "

ответ

2

, как решить эту проблему без использования специальных символов, как &rdquo;

Вы не делаете, хотя rdquo неправильный эталонный символ, используемый в данном случае.

Запустите текст через htmlspecialchars(), чтобы превратить его в HTML, прежде чем вставлять его в HTML-документ.

<input type="text" value="<?= htmlspecialchars($var) ?>"> 
+1

Это Следует отметить, что при визуализации страницы результат в точности соответствует «Hello» world '', не более или менее. Если форма отправляется без изменений, это точное значение, которое получит сервер (и, следовательно, база данных). –

2

HTML Entities - вот что вам нужно.

Это похоже на htmlspecialchars, но если вам требуются все входные подстроки, у которых ассоциированные именованные объекты должны быть переведены, вместо этого используйте htmlentities().

+2

Если вам нужны сущности для всего, что может иметь сущность, то вы делаете UTF-8 неправильно :) – Quentin

0

Это Char html codes!

$ Var = "Hello \" Мир ";

Я использую HTML специальный символ:

" - special html char - &quot;

$var = "Hello &quot; World '";

Результат: Hello " World '