DomDocument вставка CSS из файла в элемент стиля - PullRequest
1 голос
/ 18 апреля 2020

Я строю систему, в которой требование говорит, что ссылки на CSS не разрешены. Они позволяют помещать весь контент CSS в элемент style. Я использую DOMDocument для создания XML / X HTML.

. Таблицы стилей CSS занимают около 320 строк, поэтому я бы предпочел построить их в отдельных файлах CSS и решить, как вставить * 1028. * содержимое в сборке DomDocument.

Вопрос: Каков наилучший способ вставки внешнего содержимого файла 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>

1 Ответ

2 голосов
/ 22 апреля 2020

Попробуйте что-то вроде этого:

Добавьте

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

и измените $style на:

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

, и это должно работать.

...