Created
September 8, 2014 19:25
-
-
Save zverok/f2b6f0c5284c173c2dba to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
highlight = 'Хэй, привет всем, <strong class="match">ком</strong> всё же стало интересно, что тут у меня творится.Думаю, дневник стоить начать со знакомства и небольшого рассказа о себе и своих интересах.Я из Алматы. Учусь в лицее на факультете химии и биологии. Планирую позже поступать в медицинский.В свободное время смотрю фильмы\сериалы, рисую, читаю, порой плету фенечки.Любимые сериалы: Доктор <strong class="match">Кто</strong>, ТБВ, Скинс, Шерлок, Игра Престолов (в процессе).Любимые книги: Поттериана (Дж.Роулинг), Властелин Колец (Дж.Толкиен), Парфюмер (П.Зюсскинд), Черновик (С.Лукьяненко), Облачный Атлас (Д.Митчелл), Алиса в стране чудес \в Зазеркалье (Л.Кэролл), Дом, в котором (М.Петросян) *в процессе*.Неровно дышу к Стартреку, Звёздным Войнам, Людям Икс и Скотту Пилигриму.Музыку слушаю при любой возможности. Не сказать, что меломан, но слушаю достаточно отличающиеся друг от друга жанры: джаз, классику, рок, электронику (не путать с попсой), инди, метал.Сама же играю на гитаре и клавишных. Люблю изделия ручной работы, необычную внешность, красивые марки и делать подарки.Болтливая, часто слоупочу, охотно рассказываю истории из жизни с:Здесь ради посткроссингаЕсли шта, рада всяко-разным открыткам. Только не люблю вид города, розовый цвет и детей. Запись сделана с помощью m.livejournal.com.' | |
search = " рисую, читаю, порой плету фенечки.Любимые сериалы: <em>Доктор</em> Кто, ТБВ, Скинс, Шерлок, Игра Престолов (в"; | |
body = "Хэй, привет всем, ком всё же стало интересно, что тут у меня творится.Думаю, дневник стоить начать со знакомства и небольшого рассказа о себе и своих интересах.Я из Алматы. Учусь в лицее на факультете химии и биологии. Планирую позже поступать в медицинский.В свободное время смотрю фильмы\сериалы, рисую, читаю, порой плету фенечки.Любимые сериалы: Доктор Кто, ТБВ, Скинс, Шерлок, Игра Престолов (в процессе).Любимые книги: Поттериана (Дж.Роулинг), Властелин Колец (Дж.Толкиен), Парфюмер (П.Зюсскинд), Черновик (С.Лукьяненко), Облачный Атлас (Д.Митчелл), Алиса в стране чудес \в Зазеркалье (Л.Кэролл), Дом, в котором (М.Петросян) *в процессе*.Неровно дышу к Стартреку, Звёздным Войнам, Людям Икс и Скотту Пилигриму.Музыку слушаю при любой возможности. Не сказать, что меломан, но слушаю достаточно отличающиеся друг от друга жанры: джаз, классику, рок, электронику (не путать с попсой), инди, метал.Сама же играю на гитаре и клавишных. Люблю изделия ручной работы, необычную внешность, красивые марки и делать подарки.Болтливая, часто слоупочу, охотно рассказываю истории из жизни с:Здесь ради посткроссингаЕсли шта, рада всяко-разным открыткам. Только не люблю вид города, розовый цвет и детей. Запись сделана с помощью m.livejournal.com." | |
body_with_highlight = body.replace(highlight.replace(/<\/?strong.*?>/g, ''), highlight); | |
highlights = []; | |
while(body_with_highlight.match(/<strong/)){ | |
body_with_highlight = body_with_highlight.replace(/^(.+?)<strong.*?>(.+?)<\/strong>/, | |
function(full, before, what){ | |
highlights.push([before.length, '<strong>']); | |
highlights.push([(before+what).length, '</strong>']); | |
return before + what; | |
}); | |
} | |
body_with_search = body.replace(search.replace(/<\/?em.*?>/g, ''), search); | |
while(body_with_search.match(/<em/)){ | |
body_with_search = body_with_search.replace(/^(.+?)<em.*?>(.+?)<\/em>/, | |
function(full, before, what){ | |
highlights.push([before.length, '<em>']); | |
highlights.push([(before+what).length, '</em>']); | |
return before + what; | |
}); | |
} | |
highlights = highlights.sort(function(left, right){ | |
return left[0] < right[0]; | |
}); | |
highlights.forEach(function(tag){ | |
body = body.substr(0,tag[0]) + tag[1] + body.substr(tag[0]); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment