Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Регулярка


Автор: MoLeX 3.2.2012, 09:49
Добрый день.
Есть следующие данные
Цитата

{"text":"html <br><script type="text/javascript"></script>"}
{"text":"html <br><script type="text/javascript"></script> {"text":"text"}"}
[{"text":"html <br><script type="text/javascript"></script> {"text":"text"}", "error":"text"}]
[{"text":"html <br><script type="text/javascript"></script> {"text":"text"}", "error":"text " text"}]
[{"text":"html <br><script type="text/javascript"></script> {"text":"text"}", "error":"text " text"}, {"text":""text/javascript""}]


Надо получить такое
Цитата

{"text":"html <br><script type=\"text/javascript\"></script>"}
{"text":"html <br><script type=\"text/javascript\"></script> {\"text\":\"text\"}"}
[{"text":"html <br><script type=\"text/javascript\"></script> {\"text\":\"text\"}", "error":"text"}]
[{"text":"html <br><script type=\"text/javascript\"></script> {\"text\":\"text\"}", "error":"text \" text"}]
[{"text":"html <br><script type=\"text/javascript\"></script> {\"text\":\"text\"}", "error":"text \" text"}, {"text":"\"text/javascript\""}]


 smile 

Автор: ksnk 3.2.2012, 10:05
Можно завязаться на "\w+": - как на сигнатуру начала нового атрибута. Последовательно искать сначала {, потом началы атрибутов, потом } и по новой. Атрибут - это пара кавычек, а остальные можно addslash.

Добавлено @ 10:06
Не не выйдет... оно там еще и рекурсивное :(

Добавлено через 6 минут и 23 секунды
Конец атрибута тоже, в общем-то характерен. Это `", ` или `"}`
Так что 
искать начало тега, искать начало атрибута, искать конец атрибута. и так далее

Автор: Gold Dragon 3.2.2012, 10:15
я так понимаю, начало  - это двойная кавычка сразу после двоеточия, конец - двойная кавычка после которой идёт или запятая или закрывающаяся фигурная скобка..

Тогда следует что нужно получить строку между началом и концом и экранировать кавычку

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)