Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从样式标记中删除CSS并应用于每个元素的PHP方法?_Php_Html_Css - Fatal编程技术网

从样式标记中删除CSS并应用于每个元素的PHP方法?

从样式标记中删除CSS并应用于每个元素的PHP方法?,php,html,css,Php,Html,Css,有谁知道一个PHP方法、代码片段或项目,我可以使用或开始使用它来获取HTML输入并删除标记,但将所有样式应用到它们想要的每个元素 输入示例: <html> <head> <style> body { font-size: 10px; } td { font-size: 8px;

有谁知道一个PHP方法、代码片段或项目,我可以使用或开始使用它来获取HTML输入并删除
标记,但将所有样式应用到它们想要的每个元素

输入示例:

<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>

身体{
字体大小:10px;
}
运输署{
字号:8px;
}
本文是:8px
期望输出:

<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>

本文是:8px
为什么??我希望我的应用程序包括带有回复的原始电子邮件,而不让原始邮件样式与回复格式混淆。我猜这是我前进的方向,因为当你在Outlook中查看回复的来源时,它似乎使用了这种方法。

应该可以做到这一点。代码如下所示:

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
);
使用TijsVerkoyen\CssToInlineStyles\CssToInlineStyles;
$cssToInlineStyles=新的cssToInlineStyles();
$css=“正文{
字体大小:10px;
}
运输署{
字号:8px;
}";
$html=”
本文是:8px
";
echo$cssToInlineStyles->convert(
$html,
$css
);
如果你更愿意使用在线工具,还有一个方法可以做到。代码如下所示:

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
);
使用TijsVerkoyen\CssToInlineStyles\CssToInlineStyles;
$cssToInlineStyles=新的cssToInlineStyles();
$css=“正文{
字体大小:10px;
}
运输署{
字号:8px;
}";
$html=”
本文是:8px
";
echo$cssToInlineStyles->convert(
$html,
$css
);

如果你想使用在线工具,还有一个

我正在使用emogrifer来创建HTML邮件消息,它对我来说非常有用。 这里有一个链接:

我正在使用Emogrifer创建HTML邮件消息,它对我来说非常有用。 这里有一个链接:

您可以使用id和class保存CSS代码,并在需要时在标记中调用。

您可以使用id和class保存CSS代码,并在需要时在标记中调用。

您看到的是一个样式内联线,这是HTML电子邮件开发中经常使用的,这里有一些工具:

  • (适用于npm)
根据您的应用程序代码,您可以找到一些库来执行此操作。。。如果你想建立自己的。。。。也许npm软件包可以为您提供指导

希望这对您有所帮助

您现在看到的是一个样式内联线,它通常用于HTML电子邮件开发,这里有一些工具:

  • (适用于npm)
根据您的应用程序代码,您可以找到一些库来执行此操作。。。如果你想建立自己的。。。。也许npm软件包可以为您提供指导


希望这有帮助

为什么要删除样式标记?有必要吗?然后使用内联CSS。为什么要删除样式标记?有必要吗?然后使用内联CSS和那个信息,你可以考虑用类似的答案回答我的其他问题;有了这些信息,你可以考虑用类似的答案回答我的其他问题;