Как вставить текст с переводом строк?
$('#log').html('text text text text'); не работает |
|
a = " это очень,*!*\*/!* очень длинная строка" alert(a) |
А может просто <br/> поставить?
|
я бы тоже через <br /> код html вставлял.
|
Не-а, не работает.
Это нужно для формы обратной связи, что бы не отправляли "Войну и мир" в textarea. Обрезать текст до 1000 знаков не вопрос, а вот обновить поле не получается $txt = nl2br("dfvdfvdf dfvdfv dfvdfv"); $txt = preg_replace('/\n|\r/sui', '',$txt); echo '<script>$(\'#ftxt\').val(\''.$txt.'\');</script>'; Вставляет dfvdfvdf<br />dfvdfv<br />dfvdfv |
Цитата:
|
Так если не делать этого, то отдается с переводом строк в консоль и не вставляется!
Вот сабж, только я рецепт никак не догоню.. http://forum.vingrad.ru/forum/topic-326152.html |
Чисти строку, как тебе надо, просто не вырезай переносы строк и все будет ок. Например:
<textarea id="txt" style="width: 500px; height: 110px;">This is some dirty appempt to make a script injection <script>alert('hello')</script> boom! (note new lines) </textarea> <br> <button onclick="clean()">Test</button> <script> function clean() { var el = document.getElementById('txt'); var text = el.value; el.value = stripTags(text); } function stripTags(str) { return str.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi, ''); } </script> |
уфффф... разобрался
//$tmp[0][0] - это после обрезки, в общем исходный текст с переносами $txt = nl2br($tmp[0][0]); //для вставки в тело письма $txt2 = urlencode($tmp[0][0]); //кодируем $mess .= '$(\'#ftxt\').val(decodeURIComponent(\''.$txt2.'\'));'; //вывод с декодированием (сам вывод чуть ниже) Пример работы http://kro002.jcase.ru/index-5.html введите в textarea больше 20 символов, не заполняя другие поля нажмите "Отправить". |
Цитата:
Что-то ты мутишь не то. Валидация не так делается. Нельзя изменять программно то, что ввел пользователь. Если данные некорректны - ты должен сообщить, в чем именно ошибка, и предоставить пользователю возможность самому ее исправить, а не вырезать там что-то, изменять за него. Это не дружелюбно по отношению к пользователю. |
Про пробелы согласен, а про дружелюбность... Обойдется пользователь и 1000 знаками в тексте сообщения, мне сочинение на вольную тему на мыло не нужно.
|
Цитата:
Также не надо путать sanitation и validation. Тебе нужно сделать валидацию данных, а не санацию. Санация делается непосредственно перед вставкой в базу и пользователю уже назад не отдается. |
Ок, убедил)) Но в других полях санацию всё же оставлю (типа русские символы в поле мыла)
|
для передачи информации из php в js есть json_encode. Хотя он тут не нужен. Как не нужно отправление данных на сервер, возвращение скриптов в ajax-запросах и вырезание допустимых (русских) символов из email-адресов (это не санация, это кастрация какая-то ;)).
|
Часовой пояс GMT +3, время: 21:46. |