如何将html样式标记提取到css中
我试图从div html中自动提取标签样式的一部分。我有100个样式组合,所以手动操作是不可能的。 这是html样式标记-->css的路径如何将html样式标记提取到css中,html,css,tags,styles,Html,Css,Tags,Styles,我试图从div html中自动提取标签样式的一部分。我有100个样式组合,所以手动操作是不可能的。 这是html样式标记-->css的路径 .rule1{ 背景色:rgb(196,0143); } .规则{ 背景色:rgb(230、176、18); } 1 5方法1:提取CSS-在线CSS提取程序 extractCSS是一个JavaScript库和一个在线工具,允许您从HTML文档中提取元素ID、类和内联样式,并将它们输出为CSS 注意: 这并不完全是你想要的,但是如果你不介意复制和粘贴你的H
.rule1{
背景色:rgb(196,0143);
}
.规则{
背景色:rgb(230、176、18);
}
1
5方法1:提取CSS-在线CSS提取程序
extractCSS是一个JavaScript库和一个在线工具,允许您从HTML文档中提取元素ID、类和内联样式,并将它们输出为CSS
注意:
这并不完全是你想要的,但是如果你不介意复制和粘贴你的HTML,试试这个。没有太多的功能,但它做的工作
方法2:使用Jquery:
<style></style>
<div style="background-color: red; height:300px; width:200px;">
<a style="font-weight: bold">Link</a>
</div>
您可以使用一些JS/JQuery代码来提取样式,清除它们,给元素一个ID并添加css。检查此示例,您可以进一步扩展它
HTML:
<style></style>
<div style="background-color: red; height:300px; width:200px;">
<a style="font-weight: bold">Link</a>
</div>
如果您确实需要使用simplehtmldom来提取:
为了
为了
如果有多个div
具有style
atribute或多个
,则可以使用foreach
在它们之间循环
要分析样式,请执行以下操作:
在PHP中:
$s='背景:蓝色;颜色:白色;;
$results=[];
$styles=分解(“;”,$s);
foreach($style作为$style){
$properties=explode(“:”,$style);
如果(2==计数($properties)){
$results[trim($properties[0])]=trim($properties[1]);
}
}
var_dump($结果);
在JS中
let s='背景:蓝色;颜色:白色;;
让结果={};
设styles=s.split(“;”);
for(在样式中加入样式){
让properties=styles[style]。拆分(“:”);
如果(properties.length==2){
结果[属性[0].trim()]=属性[1].trim();
}
}
控制台日志(结果);
将此片段与纯JS一起使用
函数提取(html){
设m=html.match(/class=(“*?”|“.*?”.*?”)/g)|[];//类列表
设c=m.map(c=>c.replace(/class=(“|”)/,“”).slice(0,-1));//仅名称
让重复数据消除=[…新集(c.map(x=>x.split``).flat())];//删除重复数据
output.value=dedup.reduce((a,c)=>a+=`.${c}{\n}\n\n`,'')
}
提取CSS!
您想从文档的div中删除样式属性,或者您的html仍然是字符串?我想从html中删除样式。谢谢您的指点。您想删除html样式标记或将其提取到css中吗?谢谢Priya。此解决方案为我的2个样式标记提供了一个唯一的1 css类。我想要的是x个唯一的css类r每个独特的x风格标签。但有一点记事本++和excel我想我可以管理。
<style>
...
</style>
$css = $html->find('style')->innertext;
<div style="background:blue; color:white;"></div>
$css = $html->find('div[style]')->style;