Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.04.2012, 12:21
Аватар для Sufir
Аспирант
Отправить личное сообщение для Sufir Посмотреть профиль Найти все сообщения от Sufir
 
Регистрация: 15.06.2008
Сообщений: 47

Многострочные строки и экранирование
Не знаю как правильно это сформулировать, поэтому озаглавил тред "Многострочные строки или экранирование"

Есть объект, данные в него вносятся из php и могут быть многострочными и содержать всякие символы.

echo <<<END
var contact = {
  id: $id,
  referer: $referer,
  name: $name,
  message: $message,
  comment: jQuery( ".comment", contactElement ).text() }
END;

var contact = {
  id: "2630",
  referer: "http://url.ru/main/account/profile/",
  name: "some name",
  message: "something text
_http://url.ru/main/46035/
and anything here!!",
  comment: jQuery( ".comment", contactElement ).text()
}


Собственно вопрос, как мне эти данные заэкранировать, что-б никакие бяки не вылезли (unexpected identifier) и главное многострочный текст использовать, что б потом его можно было поместить в textarea?

htmlspecialchars, htmlentities, addslashes не помогают.

Была мысль json_encode использовать для создания объекта, но часть данных в нём формируется динамически уже на странице.

Последний раз редактировалось Sufir, 04.04.2012 в 12:44.
Ответить с цитированием
  #2 (permalink)  
Старый 04.04.2012, 13:36
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

в переменной $message в Php просто уберите переносы строк либо замените их на \n

Последний раз редактировалось Pavel M., 04.04.2012 в 13:38.
Ответить с цитированием
  #3 (permalink)  
Старый 04.04.2012, 13:55
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от Sufir Посмотреть сообщение
... что-б никакие бяки не вылезли...
И еще определитесь, с какими кавычками Вы работаете (двойными или одинарными). Потом их надо будет экранировать. Потому как если не экранировать, то при написании украинского слова ОБ'ЯВА или ОБ"ЯВА ("объявление") начнутся проблемы...
Также надо экранировать слэши (экранирующие слэши от самих себя)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как вставить строки в таблицу? Yurik Events/DOM/Window 2 29.02.2012 17:14
Видимость строки таблицы sslab Events/DOM/Window 8 04.12.2011 21:58
Узнать номер строки таблицы по клику antserg jQuery 4 13.11.2011 13:46
Выделение строки в таблице posta ExtJS 5 23.06.2011 12:31
Для события onCLick получить индекс строки и объект грида. progi2007 ExtJS 4 05.08.2009 11:31