Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将html样式标记提取到css中_Html_Css_Tags_Styles - Fatal编程技术网

如何将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

我试图从div html中自动提取标签样式的一部分。我有100个样式组合,所以手动操作是不可能的。 这是html样式标记-->css的路径

.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;