В настоящий момент я работаю над текстом, который разбит на плавающие столбцы, чтобы отобразить его в виде magazine-like
.Разделить строку на слова в javascript
Я спросил previous question как split
текст на предложения, и он работает как шарм:
sentences = text.replace(/\.\s+/g,'.|').replace(/\?\s/g,'?|').replace(/\!\s/g,'!|').split("|");
Теперь я хочу пойти на шаг дальше и разделить его на словах. Но у меня также есть некоторые элементы, которые не должны быть разделены. Как и в подзаголовках.
Пример текста будет:
A wonderful serenity has taken possession of my entire soul. <strong>This is a subheadline</strong><br><br>I am alone, and feel the charm of existence in this spot.
Мой желаемый результат будет выглядеть следующим образом:
Array [
"A",
"wonderful",
"serenity",
"has",
"taken",
"possession",
"of",
"my",
"entire",
"soul.",
"<strong>This is a subheadline</strong>",
"<br>",
"<br>",
"I",
"am",
"alone,",
"and",
"feel",
"the",
"charm",
"of",
"existence",
"in",
"this",
"spot."
]
Когда я разделить на всех непечатаемых я получаю слова, но "<br>"
выиграл» t будет добавлена как новая запись массива. Я также не хочу разделить подзаголовок и разметку.
Причина, по которой я хочу это сделать, заключается в том, что я добавляю последовательность после последовательности в p-тег, а когда высота становится больше, чем окружающий элемент, я удаляю последнюю добавленную последовательность и создаю новый плавающий п-тэг. Когда я разделил его на предложения, я увидел, что распад не был достаточно хорош, чтобы обеспечить хороший поток чтения.
пример того, что я пытаюсь достичь вы можете увидеть here
Если вам нужна дополнительная информация, я буду рад дать его вам.
Спасибо заранее,
Tobias
EDIT
Строка может содержать больше HTML-теги в будущем. Есть ли способ не касаться чего-либо между этими тегами?
EDIT 2
Я создал jsfiddle: http://jsfiddle.net/m9r9q/1/
EDIT 3
Будет ли это хорошая идея, чтобы удалить все HTML-тег с инкапсулированным текстом и заменить его заполнители? Затем разделите строку на слова и добавьте нетронутые html-теги при достижении заполнителя? Каким будет регулярное выражение для извлечения всех тэгов html?
Вы можете сколотить jsfiddle ситуации? – Jake
@ Jake: Вы видели мой [пример] (http://ol.tobiaskun.com/text.html)? И если это не поможет вам понять, чего я хочу достичь? Но тем не менее я создам jsfiddle :) –
Посмотрел пример, просто мы не можем изменить этот код :) – Jake