php - 使用 php 将内联样式转换为 css

标签 php css class inline

我制作了一个类,可以生成多种格式的不同条形码类型,例如: - 任何图片格式,GIF、JPG、PNG、SVG 等 - 压缩的 javascript (JS) - 带有内联样式的 HTML

该类已经过优化,通过仅“绘制”黑色信息来尽可能减少条形码的输出。

因为条形码的HTML版本会那么大(虽然已经优化过了),不知道有没有类或者函数可以把行内样式转换成样式标签,例如:

输出是(只有几行):

<div id="mybarcode">
<div style="position:absolute;margin-left:26px;width:2px;height:128px;background:#000;"></div>
<div style="position:absolute;margin-left:34px;width:2px;height:128px;background:#000;"></div>
<div style="position:absolute;margin-left:36px;width:2px;height:48px;background:#000;"></div>
......
......

这就是我想要的:

<style>
     #mybarcode div {position:absolute;width:2px;height:128px;background:#000;}
    </style> 
    ....
    ....

    <div id="mybarcode">
    <div style="margin-left:26px;"></div>
    <div style="margin-left:34px;"></div>
    <div style="margin-left:36px;height:48px;">
    ....
    ....

如果找到一个类可以做与我想要的相反的事情,但我不是这样。有谁知道周围是否有一个类可以用 html 做这样的事情?将具有内联样式的其他页面转换为具有外部 css 的 html 也很有用。

谢谢您的回答!亲切的问候。

最佳答案

应该不会太难。

算法概要:

  • 查看每个元素并提取内联样式规则
  • 确定所有元素共有的样式
  • 将这些样式提取到类下的style标签中(即common)
  • 删除多余的内联样式并为元素添加common

您可以使用 Simple HTML Dom Parser 进行实际的元素操作. CSS 规则本身很容易解析,所以我会使用正则表达式。尤其是在您的情况下,因为您编写了生成 HTML 的代码,所以您将确切地知道您可能会遇到哪些 CSS 规则。

关于php - 使用 php 将内联样式转换为 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5607823/

相关文章:

javascript - 如何使用ajax请求从php获取值以进行输入

css - 互联网浏览器 : Disable Access from Visitors

html - div 中有一个表格不滚动

html - Chrome 渲染问题?

c++ - 奇怪的段错误就在 main 的开始

php - 我怎样才能得到两个时间戳之间的差异

php - 这是对我网站的攻击吗?

php - 在 PHP 中获取日期和数字工作日

c++ - 在不指定基类名称的情况下在派生类中调用基类方法

C++类反汇编