Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Значение импутов
 
 автор: Artem S.   (01.05.2005 в 17:13)   письмо автору
 
 

Такая проблема. Есть форма, в форме поля для ввода регулярного выражения. До определенного момента все работало прекрасно, пока не ввел такое выражение:
/name='?"?zip code"?'?/i

То есть тут есть все виды кавычек и пробел. Проблема в том, что когда это форма отрывается на редактирование, часть выражения преподает.
<input value="name='?"?zip code"?'?>
То есть value заключать в " ' не помогает. Подскажите, как справиться с проблемой.

   
 
 автор: cheops   (01.05.2005 в 20:25)   письмо автору
 
   для: Artem S.   (01.05.2005 в 17:13)
 

Хм... а нельзя экранировать содержимое перед выводом:
<input value="name=\'?\"?zip code\"?\'?">

при помощи addslashes?

   
 
 автор: Artem S.   (01.05.2005 в 20:55)   письмо автору
 
   для: cheops   (01.05.2005 в 20:25)
 

Пробовал, не помогло. HTML не знает что такое escape =)

   
 
 автор: glsv (Дизайнер)   (02.05.2005 в 09:50)   письмо автору
 
   для: Artem S.   (01.05.2005 в 17:13)
 

Попробуйте следующим образом. Мне, правда, пришлось примерить другой подход, чтобы протестировать код.

<?php 
  $tmp 
htmlspecialchars(stripslashes('/name=\'?\"?zip code"?\'?/i'));
?>
<input type="text" name="txt" value="<?= $tmp ?>">

Первоначально я вручную добавил экранирование одинарных кавычек, чтобы поместить это выражение в строку. И убрал экранирование перед выполнением функции htmlspecialchars(). А вы, наверное, можете автоматически добавить первоначальное экранирование с помощью addslashes() когда вы берете это выражение из базы или из файла.

Возможно, вам можно совсем обойтись без функций stripslashes() и addslashes(), а сразу прогнать выражение через htmlspecialchars().

   
 
 автор: Artem S.   (02.05.2005 в 10:10)   письмо автору
 
   для: glsv (Дизайнер)   (02.05.2005 в 09:50)
 

Спасибо, а то у меня из головы вылетело что " можно заменить на &quot;

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования