Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выбрать теги второго уровня в XML
 
 автор: relaxxx   (22.07.2012 в 14:04)   письмо автору
 
 

Есть, например, такой XML

<root>
    <index>
        <bool>sdsd</bool>
    </index>

    <asdf>
        <qqq></qqq>
    </asdf>

    <ccc />
</root>

Нужно выбрать теги второго уровня, тоест

<index>
</index>
<asdf>
</asdf>
<ссс />

Как написать такой регексп?

  Ответить  
 
 автор: confirm   (22.07.2012 в 14:50)   письмо автору
 
   для: relaxxx   (22.07.2012 в 14:04)
 

SimpleXML для этого существует, рег. функции в этом случае совсем излишние..

  Ответить  
 
 автор: relaxxx   (22.07.2012 в 16:59)   письмо автору
 
   для: confirm   (22.07.2012 в 14:50)
 

нужно именно регекспом, потому что это нужно для создания своей подсветки синтакциса в VIM, а там это только регекспами можно.

  Ответить  
 
 автор: confirm   (22.07.2012 в 17:04)   письмо автору
 
   для: relaxxx   (22.07.2012 в 16:59)
 

А получив объект со всеми его потрохами, разве нельзя вывести его вновь с вашим добавлением (подсветкой)?

  Ответить  
 
 автор: relaxxx   (22.07.2012 в 18:22)   письмо автору
 
   для: confirm   (22.07.2012 в 17:04)
 

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

вот и стоит вопрос как написать регулярку, которая выберет теги второго уровня. моих знаний регекспов не хватило для решения этой задачи

  Ответить  
 
 автор: confirm   (22.07.2012 в 18:49)   письмо автору
 
   для: relaxxx   (22.07.2012 в 18:22)
 

Теперь я вас не понял. Я знаю, что VIM, это текстовый редактор, хотя им и не пользовался, и при чем тут подсвечивать им...
Я понимал так, что у вас есть некий xml-код, в котором при выводе на веб-страницу нужно подсветить его элементы. То есть, не исполнение этого кода, а изучение. Если я правильно понял, то как именно организуется эта подсветка у вас?

  Ответить  
 
 автор: relaxxx   (22.07.2012 в 19:00)   письмо автору
 
   для: confirm   (22.07.2012 в 18:49)
 

Нет, немного не так.
Вим это текстовый редактор, который очень гибкий и в нем можно в настройках прописать свои стили для подсвечивания кода. Например я могу написать регексп, который будет подсвечивать мне в виме указанным стилем все атрибуты в теге. Ни о каком выводе на какой-то странице речи не идет. Я хочу именно настроить подсветку синтаксиса, тоесть сделать свой редактор для себя более удобным.

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

  Ответить  
 
 автор: confirm   (22.07.2012 в 21:30)   письмо автору
 
   для: relaxxx   (22.07.2012 в 19:00)
 

Понятно. Такое и условие сходу и не представить, не то что выражение.

  Ответить  
 
 автор: confirm   (23.07.2012 в 00:28)   письмо автору
 
   для: relaxxx   (22.07.2012 в 19:00)
 

Если это редактор так крут, то наверное не составляет труда написать макрос, который по горячей клавише перед каждым вложением добавлял бы N пробелов (по границе родителя, то есть с учетом пробелов предков). Тогда просто будет описать теги, которым предшествуют N пробелов (первые потомки).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования