我制作了一个类,可以生成多种格式的不同条形码类型,例如: - 任何图片格式,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/