我正在尝试通过JavaScript分析一段文本,并且阅读,已经了解到使用Regex解析HTML是quite evil。在分析之前,我想删除文本中更险恶的部分。
如果我有一大块文本,如下面的项目,我怎么能(1)切片从[caption]
到[/caption]
的所有内容,以及(2)将该文本存储在一个新的var中? / p>
Sed rutrum enim sit amet sem fringilla egestas placerat mauris pretium. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ultricies egestas malesuada. Etiam rhoncus eros a leo imperdiet vitae tincidunt purus laoreet. Mauris ut mauris quam, sed pharetra urna. Etiam eu enim mauris, vitae bibendum orci. Quisque ac sapien massa, at dignissim tellus.
[caption id="blah" align="alignleft" width="123" caption="Lorem ipsum dolor sit, consectetur adipiscing elit."]<a href="http://www.google.com/something"><img title="Lorem ipsum dolor sit, consectetur adipiscing elit." src="http://google.com/something/else.png" alt="Lorem ipsum dolor sit, consectetur adipiscing elit." width="345" /></a>[/caption]
Aenean faucibus mi sit amet leo suscipit nec egestas leo ultrices. Integer tincidunt, urna quis varius accumsan, urna quam congue nulla, ut ornare orci purus in ligula. Suspendisse varius, tellus aliquam tincidunt, ante semper elit, sit amet tincidunt elit augue eget odio. Vivamus sit amet tincidunt massa. Sed nunc ligula, feugiat quis volutpat congue, eleifend in tellus. Curabitur ut dictum felis. Nunc sodales euismod leo, in commodo elit ornare hendrerit. Cras luctus eros id nisl vestibulum elementum. Maecenas ut neque turpis. Donec ornare hendrerit rutrum. Non nibh leo, dictum ullamcorper dui.
答案 0 :(得分:2)
您也可以使用正则表达式:
var split = text.split(/\[\/?caption[^\]]*\]/);
并将split [1]作为结果
答案 1 :(得分:1)
您可以使用.split()
var temp = yourText.split("[caption")
这会给你:
temp [0],包含“[caption”
之前的所有内容temp [1]包含“[caption”之后的所有内容
然后,您可以继续拆分/连接数组片段以消除字符串中的任何部分。
答案 2 :(得分:1)