此刻,我正在处理分解为浮动列的文本,以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