Добавление условных комментариев с помощью DomDocument - PullRequest
3 голосов
/ 14 февраля 2011

Я видел поток, касающийся изменения условных комментариев, но я не могу найти, можно ли добавить новые условные комментарии, используя функциональность php dom.

Я хочу добавить следующее (не единственный пример, но вы поняли!).

<!--[if ! lte IE 6]><link rel="stylesheet" href="css/default.css" /><!--<![endif]-->

Я посмотрел на DomComment, но, кажется, он добавил закрывающий тег для комментария, поэтому я получаю:

<!--[if ! lte IE 6]--><link rel="stylesheet" href="css/default.css" /><!--<![endif]-->

1 Ответ

3 голосов
/ 14 февраля 2011

это:

<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body><p id='bla'>Test</body></html>");
$bla = $doc->getElementById("bla");
$bla->appendChild(new DOMComment('[if ! lte IE 6]><link rel="stylesheet" href="css/default.css" /><![endif]'));

echo $doc->saveHTML();  //<!--[if ! lte IE 6]><link rel="stylesheet" href="css/default.css" /><![endif]-->

у меня работает.обратите внимание, что правильный синтаксис для условного комментария равен

<!--[if ! lte IE 6]><link rel="stylesheet" href="css/default.css" /><![endif]-->

, а не

<!--[if ! lte IE 6]><link rel="stylesheet" href="css/default.css" /><!--<![endif]-->

, как вы говорите, что хотите его получить.

...