【发布时间】:2016-06-15 17:17:20
【问题描述】:
我正在从所见即所得编辑器中提取一些 html,并且需要解析和替换文本部分。例如,我可能会得到这样的 html:
<span style="font-size: 36px; line-height: 50.4px;">
first text I want to replace
<span style="font-size: 11px;"><i><b>hello world</b></i></span>
second text I want to replace
<span style="font-size: 15px;"><i><b>foo bar</b></i></span>
third text I want to replace
</span>
假设我想替换父跨度的文本部分并单独保留子元素。例如,假设我想将 html 转换为:
<span style="font-size: 36px; line-height: 50.4px;">
I replaced my first text
<span style="font-size: 11px;"><i><b>hello world</b></i></span>
I replaced my second text
<span style="font-size: 15px;"><i><b>foo bar</b></i></span>
I replaced my third text
</span>
替换前和替换后的字符串值与此问题无关。我只想知道如何找到并替换这些字符串。
我在网上能找到的最接近的东西是这个 jQuery 的绝妙技巧:
$("#span-selector").clone().children().remove().end().text()
但是,这将从父级中提取所有文本,而无法替换已修改的字符串。我如何使用 javascript/jQuery 查找 first text I want to replace 并将其替换为 I replaced my first text
有人认为这是可能的吗?请记住,我直接从编辑器获取 html,因此用户可能会输入一些看起来像 html 的字符。所以我不知道手动解析html寻找''是否可行。
【问题讨论】:
标签: javascript jquery html string replace