codeat3 / inlinestyle
将CSS样式表直接作为内联样式应用于HTML文档
2.1.0
2024-02-27 15:37 UTC
Requires
- php: ^7.4|^8.0
- symfony/css-selector: ^5.0|^6.0|^7.0
Requires (Dev)
- phpunit/phpunit: ^9.0
README
这是原始仓库(christiaan/InlineStyle)[https://github.com/christiaan/InlineStyle]的分支,由Christiaan Baartse创建
InlineStyle提供了一种简单的方法,可以直接将嵌入式和外部样式表作为内联样式应用于HTML标签。这主要针对不支持样式表但支持HTML标签的style属性的邮件客户端。
安装
composer require inlinestyle/inlinestyle
或者将以下内容添加到您的composer.json文件中
"require": {
"inlinestyle/inlinestyle": "^2.0"
}
用法
使用composer下载所需依赖项。
导入InlineStyle
use \InlineStyle\InlineStyle;
从HTML字符串或HTML文件创建一个新的InlineStyle对象。
$htmldoc = new InlineStyle("testfiles/test.html");
或者
$htmldoc = new InlineStyle(file_get_contents("http://github.com"));
应用嵌入式和外部样式表
首先,我们需要从文档中提取样式表,然后我们需要应用它们。
$htmldoc->applyStylesheet($htmldoc->extractStylesheets());
第二个参数是用于解析外部样式表链接的基本URL。
$htmldoc->applyStylesheet($htmldoc->extractStylesheets(null, "http://github.com"));
应用附加样式表
此类还可以用于将指定的CSS模板应用到每个处理的HTML文件。
$htmldoc->applyStylesheet(file_get_contents("testfiles/external.css"));
检索修改后的HTML
多次调用applyStylesheet后,可以使用getHTML作为字符串检索结果HTML。
$html = $htmldoc->getHTML();