Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблемы с (textarea + спецсимволы) 
V
    Опции темы
dstorm81
Дата 14.8.2007, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



Доброго времени...
Появилась такая специфическая проблемка

есть xml файлы, с данными хранящимися в cdata секции
при создании  xml файла данные уходящие из textarea (через php5) записываются правильно (<>&amp)
при редактировании xml - в textarea, из cdata секции, приходят данные, (если посмотреть исходный код, 
а именно - содержимое textarea, то вроде всё правильно), однако отображаются они в textarea уже не как набор символов, а их html-интерпритация (<,>,&)
и при повторном постинге, если их опять не править вручную, они соответственно уже записываются как (<,>,&)

нашел выход из ситуации
данные из cdata секции вывожу не в textarea, а в div,
затем скриптом хватаю innerHTML дива и закидываю в value текстареа,
преобразование (&lt;&gt;&amp) не происходит, однако код уже не валидный - одиночные теги не закрыты

как я понял - нужен скрипт-парсер исправляющий эту ситуацию (буду благорарен за ссылку или сам код)
или всё-же есть ещё вариант на php без клиентского скрипта?

З.Ы. на валидность конечно можно покласть, но всё-же...



--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
Rigel
Дата 14.8.2007, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 24.7.2007
Где: Москва

Репутация: нет
Всего: нет



А почему бы перед записью в файл не преобразовать 
$vr = preg_replace("/\</","&lt;",$vr);
и так далее?

--------------------
С уважением. Rigel. http://www.smoliy.ru
PM MAIL WWW ICQ   Вверх
dstorm81
Дата 14.8.2007, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



Цитата(Rigel @  14.8.2007,  15:17 Найти цитируемый пост)
и так далее?

черезчур много символов (спецсимволы+буквы)
к тому же < > используются в разметке, а &lt; для отображения в pre, и в одном посте вместе

Склоняюсь к мысли что все-таки нужен скрипт для "закрытия" одиночных тегов,
что-то связанное с  регуляркой, есть предложения или наработки?




--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
Rigel
Дата 14.8.2007, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 24.7.2007
Где: Москва

Репутация: нет
Всего: нет



Цитата(dstorm81 @ 14.8.2007,  15:37)
к тому же < > используются в разметке, а &lt; для отображения в pre, и в одном посте вместе

Склоняюсь к мысли что все-таки нужен скрипт для "закрытия" одиночных тегов,
что-то связанное с  регуляркой, есть предложения или наработки?

Так надо преобразовывать данные поля до того, как они вставлены в разметку. Кроме того, мы не говорили про преобразование букв - XML их понимает. Даже специальные функции преобразования: htmlspecialchars  -  преобразует специальные символы в HTML сущности и html_entity_decode , который преобразует HTML сущности в соответствующие символы, они буквы не трогают. Может быть, нужно URL-кодирование, quote-printable или что-нибудь такое?
--------------------
С уважением. Rigel. http://www.smoliy.ru
PM MAIL WWW ICQ   Вверх
vasac
Дата 14.8.2007, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



Код

<textarea><?php print htmlSpecialChars($data); ?></textarea>

Стандартная практика при редактировании данных из базы, вне зависимости где они используются, в XML или еще где.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1227 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.