gpt4 book ai didi

javascript - 使用 javascript 操作 html 字符串变量

转载 作者:行者123 更新时间:2023-11-29 14:53:21 25 4
gpt4 key购买 nike

我需要用 JavaScript 操作一个字符串变量,它有一些 html 内容。我想搜索一些元素,更改它们并用另一个 div 容器包装这些元素。

我怎样才能得到这个:

var myArr = ['Foo', 'Bar'];
var contenthtml = "<p>Foo</p>
<p>Lorem ipsum dolor sit amet</p>
<p>Lorem <b>ipsum</b> dolor sit amet</p>
<p>Lorem ipsum dolor sit amet</p>
<p>Bar</p>
<p>Lorem ipsum dolor sit amet</p>";

为此:

contenthtml = "<div class='foo'><h1>Foo</h1>
<p>Lorem ipsum dolor sit amet</p>
<p>Lorem <b>ipsum</b> dolor sit amet</p>
<p>Lorem ipsum dolor sit amet</p></div>
<div class='bar'><h1>Bar</h1>
<p>Lorem ipsum dolor sit amet</p></div>";

最佳答案

您可以使用正则表达式(类似于我在 https://stackoverflow.com/a/21803683/3210837 的其他回答):

var keywordsRegEx = keywords.map(function(x){return x.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');}).join('|');
var result = str.replace(new RegExp('<p>(' + keywordsRegEx + ')</p>\r\n((?:[ \t]*<p>(?:(?!' + keywordsRegEx + ').)*</p>(?:\r\n)?)*)', 'mgi'), '<div><h1 class="$1">$1</h1>\r\n$2</div>\r\n');

参见 http://jsfiddle.net/ncu43/1/一个完整的例子。

正则表达式的作用是匹配 <p> ,关键字之一,</p> ,然后是一个段落(不包含其中一个关键字)零次或多次。

关于javascript - 使用 javascript 操作 html 字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21789280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com