|
|
|
| Такая проблема. Есть форма, в форме поля для ввода регулярного выражения. До определенного момента все работало прекрасно, пока не ввел такое выражение:
/name='?"?zip code"?'?/i
То есть тут есть все виды кавычек и пробел. Проблема в том, что когда это форма отрывается на редактирование, часть выражения преподает.
<input value="name='?"?zip code"?'?>
То есть value заключать в " ' не помогает. Подскажите, как справиться с проблемой. | |
|
|
|
|
|
|
|
для: Artem S.
(01.05.2005 в 17:13)
| | Хм... а нельзя экранировать содержимое перед выводом:
<input value="name=\'?\"?zip code\"?\'?">
|
при помощи addslashes? | |
|
|
|
|
|
|
|
для: cheops
(01.05.2005 в 20:25)
| | Пробовал, не помогло. HTML не знает что такое escape =) | |
|
|
|
|
|
|
|
для: 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(). | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(02.05.2005 в 09:50)
| | Спасибо, а то у меня из головы вылетело что " можно заменить на " | |
|
|
|