DomDocument从样式元素中的文件插入CSS

问题描述 投票:1回答:1

我正在建立一个系统,其中要求说不允许链接到CSS。它们确实允许将所有CSS内容放置在style元素内。我正在使用DOMDocument来构建XML / XHTML。

CSS样式表大约有320行,因此我希望将它们构造在单独的CSS文件中,并解决在DomDocument版本中插入CSS内容的问题。

问题:插入外部CSS文件内容的最佳方法是什么并将其放置在DOMDocument构建的样式元素之间?

Index.php

<?php

$xml = new DomDocument('1.0', 'UTF-8');
$xml->formatOutput = true;

$html = $xml->createElement('html');
$xml->appendChild($html);

$head = $xml->createElement('head');
$html->appendChild($head);
//
$style = $xml->createElement(
  'style',
  'css-content....' // The CSS content from external file should be inserted here.
);
$style->setAttribute('type', 'text/css');
$head->appendChild($style);

echo $xml->saveXML();

Main.css

  body {
    background-color: pink;
  }

想要的结果

<?xml version="1.0" encoding="UTF-8"?>
<html>
  <head>

    <style type="text/css"> 

    body {
      background-color: pink;
    }

    </style>

  </head>
</html>
php css inline domdocument
1个回答
2
投票

尝试以下方法:

添加

$css = file_get_contents('main.css');

并将$style更改为:

$style = $xml->createElement('style', $css);

它应该工作。

© www.soinside.com 2019 - 2024. All rights reserved.