Любой, кто знает метод PHP, фрагмент кода или проект, который я могу использовать или начать, чтобы взять ввод HTML и удалить <style>
пометить, но применить все стили к каждому элементу, для которого они предназначены?
Пример ввода:
<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 — и это работает очень хорошо для меня.
Вот ссылка:
Emogrifier
Вы можете использовать id и class, чтобы сохранить свой CSS-код и вызывать его, когда захотите, в теге.