此刻,我正在處理分解爲浮動列的文本,以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>"
贏得」不要添加爲新的數組條目。我也不想拆分子標題和標記。
我之所以要這麼做,是因爲我在序列之後添加序列到p標籤,當高度比周圍元素大時,我刪除最後添加的序列並創建一個新的浮動p標籤。當我把它分解成我看到的句子時,分手不夠好,以確保良好的閱讀流程。
一個例子是我努力實現你可以看到here
如果您需要任何進一步的信息,我會很樂意給你。
由於提前,
托比亞斯
編輯
的字符串可以包含在未來更多的HTML標籤。有沒有辦法不接觸這些標籤之間的任何東西?
EDIT 2
我創建了一個的jsfiddle:http://jsfiddle.net/m9r9q/1/
編輯3
難道是一個好主意,刪除所有html標籤與封裝的文本,並用佔位符代替它呢?然後將字符串拆分爲單詞,並在到達佔位符時添加未觸及的html標籤?提取所有html標籤的正則表達式是什麼?
你能否把一個硬編碼的例外這種情況呢? – Jake
@Jake:你見過我的[示例](http://ol.tobiaskun.com/text.html)嗎?如果不能幫助你理解我想實現的目標嗎?但不過我會創建一個jsfiddle :) –
看到了這個例子,它只是我們不能修改代碼:) – Jake