我从wysiwyg编辑器中提取一些html并需要解析并替换文本部分。例如,我可能会给出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会吗? – otajor
@otajor你可以检查更新的代码。 – Kld
这正是我所需要的。谢谢! – tpdietz