Самый быстрый способ форматирования простого текста с использованием Javascript - PullRequest
0 голосов
/ 10 марта 2011

У меня есть огромный простой текстовый документ, размером около 700 КБ, который очень большой для простых текстов, и мне нужно отформатировать его в облаке, преобразовав его в HTML, но единственное, что мне нужно заменить, отформатировать в HTML, чтобы его можно былоотображаются браузером, полужирный и курсив .Для текста, выделенного жирным шрифтом, они выглядят так:

Not on bold... **bold text here** not bold here

И курсив примерно так:

Not italic... *italic text* no italic

Так же, как StackOverflow делает для их форматирования, но проблема в том, что мне нужносделать это намного быстрее, так как текст такой большой ... Одна из моих идей состояла в том, чтобы добавить слайд страницы, поэтому мне нужно лишь отформатировать часть текста, а не все, после того, как пользователь изменитстраница сценарий будет вызван снова, но проблема в том, как я могу сделать код для всего этого?

Ответы [ 2 ]

1 голос
/ 10 марта 2011

Есть

function boldAndItalicize(text) {
  return text.replace(/&/g, '&amp;').replace(/</g, '&lt;')
      .replace(/(\*+)([^*]{1,1024})(\*+)/g,
               function (whole, open, content, close) {
                 if (open.length === close.length) {
                   switch (open.length) {
                     case 1: return '<i>' + content + '</i>';
                     case 2: return '<b>' + content + '</b>';
                   }
                 }
                 return whole;
               });
}

слишком медленно?

Если вы хотите разбить его, вам все равно нужно сканировать до точки разрыва, чтобы убедиться, что вы не разбиваетесь внутри выделенного курсивом или жирным шрифтом участка.

1 голос
/ 10 марта 2011

Вы можете попытаться разделить его на множество элементов div и попытаться найти способ применить форматирование к каждому из них, когда они станут видимыми (т. Е. Пользователь прокручивает и входит в область содержимого).

Я понятия не имею, как это сделать, но вы можете найти что-то подобное, уже сделанное в Jquery, и взять какой-нибудь код.

Примерно так, например: http://www.infinite -scroll.com / бесконечномерным прокрутки JQuery-плагин /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...