使用PHP基于CSS设置更改标记类型

时间:2017-04-12 23:01:34

标签: html css dom dom-traversal

我需要从HTML文件中读取数据。 HTML文件包含具有CSS规则的元素。根据CSS规则,我需要将<span>更改为<b><i><u>

不幸的是,我无法将其基于类名或ID,因为这些会改变。

DOM遍历是否可以实现?

我想要这个:

<!DOCTYPE html>
<html>
<head>
<style>
.exampple1{font-weight:700}
.exampple2{font-style:italic}
.exampple3{text-decoration:underline}
.exampple4{font-weight:700;font-style:italic;text-decoration:underline}
.exampple5{font-weight:700;font-style:italic}
.exampple6{font-weight:700;text-decoration:underline}
.exampple7{font-style:italic;text-decoration:underline}
</style>
</head>

<body>
<p><span class="exampple1">bold text</span></p>
<p><span class="exampple2">italic text</span></p>
<p><span class="exampple3">underline text</span></p>
<p><span class="exampple4">bold, italic and underline</span></p>
<p><span class="exampple5">bold and italic</span></p>
<p><span class="exampple6">bold and underline</span></p>
<p><span class="exampple7">italic and underline</span></p>
</body>
</html>

成为这个:

<!DOCTYPE html>
<html>

<body>
<p><span class="exampple1"><b>bold text</b></span></p>
<p><span class="exampple2"><i>italic text</i></span></p>
<p><span class="exampple3"><u>underline text</u></span></p>
<p><span class="exampple4"><b><i><u>bold, italic and underline</u></i></b></span></p>
<p><span class="exampple5"><b><i>bold and italic</i></b></span></p>
<p><span class="exampple6"><b><u>bold and underline</u></b></span></p>
<p><span class="exampple7"><i><u>italic and underline</u></i></span></p>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

DOM遍历是在JS中完成的,所以我认为这样的解决方案对你有用吗?

在JS中,您可以解析<style>元素with the browser's own CSSOM的内容。然后,您可以使用每个解析的CSS规则中的选择器来查询元素,并使用element.style.fontWeight = 'bold';在这些元素上设置CSS属性。