BBCode списки и регулярные выражения - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть bbcode для таких списков:

[list]
  [*]First item[]
  [*]Second item[]
  [*]Third item[]
[/list]

Это должно быть заменено следующим образом.

<ul>
  <li>First item</li>
  <li>Second item</li>
  <li>Third item</li>
</ul>

Или это:

[list=1]
  [*]One[]
  [*]Two[]
[/list]

вthis:

<ol>
  <li>One</li>
  <li>Two</li>
</ol>

Теперь я использую это регулярное выражение:

'/\[\*\](.*?)\[\]/' -> '<li>$1</li>'
'/\[list\](.*?)\[\/list\]/' -> '<ul>$1</ul>'
'/\[list\=1\](.*?)\[\/list\]/' -> '<ol>$1</ol>'

Проблема с этим регулярным выражением состоит в том, что он не проверяет, находится ли элемент списка (li) в списке (ул или ол).Как я могу это исправить?

...