从JS中的html页面解析自定义文本标签

问题描述 投票:0回答:1

我有一个带有这样的文本标签的HTML页面:

<div id="container">
[stag id="789"]some content 1[/stag]
</div>

<span id="somespan">
[stag vn="78988" id="532"]some content 2[/stag]
</span>

[stag id="891" vn="78988"]some content 3[/stag]

[我想使用js解析整个页面代码,并获取所有stag属性和内容,并用生成的div就地替换它们。

注意:它不是有效的标签,请用方括号括起来,并且必须在未加载js时显示为页面上的纯文本;如果显示为div,则显示为div解析。

getElementsByTagName在这种情况下将不起作用,因为[stag]不是有效的HTML标记,它是网页的纯文本。

实现此目标的最佳方法是,能够动态解析该标签。

我相信我正在寻求帮助来创建:getElementsBySquereBracketsTagName

感谢您的慷慨帮助!

javascript html parsing replace tags
1个回答
1
投票

这可能不是有效的标记,因为您最终将在一个范围内得到DIV,但这是一种实现方法。

给出HTML

<html>
    <body>
        <div id="container">
        [stag id="789"]some content 1[/stag]
        </div>

        <span id="somespan">
        [stag vn="78988" id="532"]some content 2[/stag]
        </span>

        [stag id="891" vn="78988"]some content 3[/stag]
    </body>
</html>

JavaScript

document.body.innerHTML = 
document.body.innerHTML.replace(/\[/gi,'<').replace(/\]/gi,'>').replace(/stag/gi,'div')
© www.soinside.com 2019 - 2024. All rights reserved.