[英]PHP method to remove CSS from Style tag and apply to each element?
有誰知道我可以使用或開始使用HTML輸入並刪除<style>
標記,但將所有樣式應用於其預期使用的每個元素的PHP方法,代碼段或項目?
輸入示例:
<html>
<head>
<style>
body {
font-size: 10px;
}
td {
font-size: 8px;
}
</style>
</head>
<body>
<!--This is my table with smaller text: -->
<table>
<tr><td>this text is:</td><td>8px</td></tr>
</table>
</body>
</html>
所需的輸出:
<html>
<head>
</head>
<body style="font-size: 10px;">
<!-- This is my table with smaller text: -->
<table>
<tr><td style="font-size: 8px;">this text is:</td><td style="font-size: 8px;">8px</td></tr>
</table>
</body>
</html>
為什么? 我希望我的應用程序包含帶有回復的原始電子郵件,而不會使原始郵件樣式與回復的格式混淆。 我猜這對我來說是前進的方向,因為當您在Outlook中查看答復的來源時,似乎正在使用此方法。
https://github.com/tijsverkoyen/CssToInlineStyles應該可以解決問題。 代碼如下所示:
use TijsVerkoyen\CssToInlineStyles\CssToInlineStyles;
$cssToInlineStyles = new CssToInlineStyles();
$css = "body {
font-size: 10px;
}
td {
font-size: 8px;
}";
$html = "
<body>
<!--This is my table with smaller text: -->
<table>
<tr><td>this text is:</td><td>8px</td></tr>
</table>
</body>
";
echo $cssToInlineStyles->convert(
$html,
$css
);
如果您想使用在線工具,也可以訪問http://premailer.dialect.ca/
您正在尋找的是樣式內襯 ,通常用於HTML電子郵件開發中,這里有一些工具:
根據您的應用程序代碼,您可以找到一些庫來執行此操作……如果您想構建自己的庫……。也許npm軟件包可以為您提供指導。
希望這可以幫助
我正在使用Emogrifier來創建HTML郵件-它對我來說真的很好。 這里是一個鏈接: 霧化器
您可以使用id和class保存CSS代碼,並在需要時隨時在標記中調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.