2013-05-01 3 views
0

Я набор строк с вложенными [quote] тегов в следующем формате:Regexp конвертировать теги (аналогичные BBCode) в HTML

[quote name="John"]Some text. [quote name="Piter"]Inner quote.[/quote][/quote] 

Как вы видите, это не так, как обычный BBCode. Поэтому я не могу найти подходящее регулярное выражение для gsub в Ruby, чтобы преобразовать их в строки, как это:

<blockquote> 
    <p>Some text. 

    <blockquote> 
     <p>Inner quote.</p> 
     <small>Piter</small> 
    </blockquote> 
    </p> 
    <small>John</small> 
</blockquote> 

Может кто-нибудь, пожалуйста, помогите мне с таким регулярное_выражением?

ответ

0

Я уверен, что регулярные выражения не могут справиться с гнездом. Что вы можете сделать, так это сделать минимальное совпадение (например, только внутренние уровни кавычек), заменить их, а затем повторить, если у вас больше совпадений. Как только вы замените уровень, он будет просто HTML, поэтому больше не будет соответствовать регулярному выражению.

Смежные вопросы