Разбор с регулярными выражениями - PullRequest
0 голосов
/ 13 июня 2011

У меня есть текст вроде

some text [http://abc.com/a.jpg] here will be long text 

can be multiple line breaks again [http://a.com/a.jpg] here will be other text

blah blah

Который мне нужно преобразовать в

<div>some text</div><img src="http://abc.com/a.jpg"/><div>here will be long text 

can be multiple line breaks again</div><img src="http://a.com/a.jpg"/><div>here will be other text

blah blah</div>

Чтобы получить теги <img>, я заменил \[(.*?)\] на <img src="$1"/>, в результате чего

some text<img src="http://abc.com/a.jpg"/>here will be long text 

can be multiple enters again<img src="http://a.com/a.jpg"/>here will be other text

blah blah

Однако я понятия не имею, как обернуть текст в <div>.

Я делаю все на iPhone с RegexKitLite

1 Ответ

2 голосов
/ 13 июня 2011

Вот самый простой подход:

  1. Заменить все вхождения \[(.*?)\] на </div><img src="$1"/><div>
  2. Prepend a <div>
  3. Добавить </div>

Это угловой случай, когда результат начинается или заканчивается <div></div>, но это, вероятно, не имеет значения.

Если это так, то:

  1. Заменить все вхождения \](.*?)\[ на ]<div>$1</div>[
  2. Заменить все вхождения \[(.*?)\] на <img src="$1"/>
...