HTML — метод PHP, чтобы удалить CSS из тега стиля и применить к каждому элементу?

Любой, кто знает метод 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, он, похоже, использует этот метод.

0

Решение

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/

2

Другие решения

То, что вы ищете, это стиль лайнер, это часто используется при разработке электронной почты HTML, здесь у вас есть несколько инструментов:

В зависимости от кода вашего приложения, вы можете найти какую-нибудь библиотеку для этого … если вы хотите создать свою собственную … возможно, пакет npm может послужить вам руководством.

Надеюсь это поможет

1

Я использую Emogrifier для создания почтовых сообщений в формате HTML — и это работает очень хорошо для меня.
Вот ссылка:
Emogrifier

0

Вы можете использовать id и class, чтобы сохранить свой CSS-код и вызывать его, когда захотите, в теге.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector