Jump to content
  • 0

как напечатать кавычки?


dusk238
 Share

Question

Друзья, неожиданно для себя столкнулся с затруднением. Взбрело мне в голову чтобы в textbox, value был с кавычками. Имеется ввиду вот что:

<input type = "text" name = "example" value = "input "two thirty eight" ">

Но к сожалению такой фрагмент кода не дал желаемого результата..

Итак, что же делать, если необходимо вывести значение value с кавычками?

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

Друзья, неожиданно для себя столкнулся с затруднением. Взбрело мне в голову чтобы в textbox, value был с кавычками. Имеется ввиду вот что:

<input type = "text" name = "example" value = "input "two thirty eight" ">

Но к сожалению такой фрагмент кода не дал желаемого результата..

Итак, что же делать, если необходимо вывести значение value с кавычками?

Может быть внутри двойных кавычек всё таки сделать одинарные? Или наоборот.

Link to comment
Share on other sites

  • 0

Так всё же легче, мадам http://jsfiddle.net/Zu4QZ/1/ ;)

Может быть внутри двойных кавычек всё таки сделать одинарные? Или наоборот.

Да, это получается, но все-таки интересно как поставить двойные?

А в чём проблема? http://jsfiddle.net/Zu4QZ/2/

Link to comment
Share on other sites

  • 0

psywalker,

Это, если всё равно какие кавычки :)

А использовать наоборот - не есть гуд. В коде должно быть однообразие.

Ну дык а можно ж, другие кавычки тоже делать однообразными :)

Link to comment
Share on other sites

  • 0

Ну дык а можно ж, другие кавычки тоже делать однообразными :)

Это ради одного атрибута весь код переписывать предлагаешь? )

Ну и к тому же слишком большая вложенность кавычек для динамического контента - плохо. При выводе через php может оказаться так, что внутри строки получится несколько кавычек одного вида, которые неэкранированы.

Например,


echo '<input type="text" value='"Тест"' />';/* будет ошибка */

Link to comment
Share on other sites

  • 0

Ну дык а можно ж, другие кавычки тоже делать однообразными :)

Это ради одного атрибута весь код переписывать предлагаешь? )

Ну и к тому же слишком большая вложенность кавычек для динамического контента - плохо. При выводе через php может оказаться так, что внутри строки получится несколько кавычек одного вида, которые неэкранированы.

Например,


echo '<input type="text" value='"Тест"' />';/* будет ошибка */

Понял, ну ладненько, поплёлся дальше я учиться...

Link to comment
Share on other sites

  • 0

Не надо бояться HTML-подстановок. Для вывода спецсимволов HTML (их всего 4 — <, >, " и &) соотв. подстановки (<, > " и &) — самый пуленепробиваемый вариант, выведутся в лучшем виде хоть в форму, хоть просто текстом, ни с чем не конфликтнут и дадут простейшую, но во многих случаях достаточную защиту от XSS. И не надо путаться в разномастных кавычках в коде. Плюс во всех веб-языках есть стандартные средства для такой замены (в PHP — htmlspecialchars).

Вот другие символы, типа ­«» и даже неразрывного пробела, имхо, лучше выводить как есть — в кодировке UTF-8...

Link to comment
Share on other sites

  • 0

Вот другие символы, типа ­«» и даже неразрывного пробела, имхо, лучше выводить как есть — в кодировке UTF-8...

А почему? Я как-то не задумывался над этим, но почти в привычке писать для них подстановки.

Link to comment
Share on other sites

  • 0

Ну я и добавил "имхо". У меня в пользу "символов как есть" два чисто субъективных аргумента — "если не видно разницы, зачем тратить больше байт" (5-7 вместо 2-3 на символ) и не угадывать, "что имел в виду автор", читая исходник (я ж не помню все подстановки на память, особенно числовые). Но есть и объективные аргументы против — например, за Дримвивером я замечал противную черту при каждом удобном случае скукоживать неразрывные пробелы в обычные, использование подстановок от таких вольностей страхует (я-то Дримом не пользуюсь и молодых коллег тоже отучил, но в общем случае при командной работе с подстановками надежнее)...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy