parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Re: Это совсем не тривиальная задача...

Spearance 04.08.2003 07:08 / 04.08.2003 07:10

чтобы определить кавычки внутри тега вам придется делать в регулярном выражении и в самом коде Parser-а кучу проверок.
Самое простое:
<a href...>
< a href...>
или
<b>1 < 2</b>
Тут для начала нужно построить дерево тегов, проанализировать все возможные комбинации:
кстати возможны и такие случаи
<b><i>текст</b></i>
а потом уже ставить кавычки...
Хотя, если вы пишете это для своего кода, в котором не будут прикладываться кривые руки секретарш, то анализатор будет заметно проще.
Теперь о подходе, их всего два.
Заменить сначала все кавычки на елочки (лапки), а потом вычленить кавычки атрибутов.
Либо сразу писать выражение с опережающей проверкой, которое будет проверять является ли значение в кавычках атрибутом тега, к примеру вот по такой конструкции...
\=\s*".+"
В целом задача сложная, и именно ей я сейчас и занимаюсь.

P.S. Какой бы не был крутой анализатор, всегда нужно дать возможность поправить вручную.