kirpich
Всем привет. Никак не получается сделать перенос строки…
Имеется код для инжекта в HTML-страницу:
PHP:
foreach($this->url as $media => $url) { $url = $this->url_replace_cdn($url); //Add the stylesheet either deferred (import at bottom) or normal links in head if($this->defer == true) { $preloadCssBlock .= ‘<link rel=»preload» as=»style» media=»‘.$media.‘» href=»‘.$url.‘» onload=»this.rel=’stylesheet'» />’; $noScriptCssBlock .= ‘<link type=»text/css» media=»‘.$media.‘» href=»‘.$url.‘» rel=»stylesheet» />’; } else { $this->inject_in_html(‘<link type=»text/css» media=»‘.$media.‘» href=»‘.$url.‘» rel=»stylesheet» />’,$replaceTag); $this->inject_in_html(‘<style media=»‘.$media.‘»>’.$this->csscode[$media].‘</style>’,$replaceTag); } } }Сейчас строки выводят в HTML код в одну строку и выходит:
HTML:А хотелось бы видеть в исходном коде (через пустую строку):
HTML:Я пытался в строках, которые ниже, сделать n и PHP_EOL — не помогает
Вариант с <br /> не катит, т.к. эти теги стоят в HEAD-секции.PHP:
$this->inject_in_html(‘<link type=»text/css» media=»‘.$media.‘» href=»‘.$url.‘» rel=»stylesheet» />’,$replaceTag); ___ $this->inject_in_html(‘<style media=»‘.$media.‘»>’.$this->csscode[$media].‘</style>’,$replaceTag);
Drunkenmunky
Как пытались?
kirpich
@Drunkenmunky, например
PHP:
$this->inject_in_html(‘<style media=»‘.$media.‘»>’.$this->csscode[$media].‘</style>’.«n«,$replaceTag);
Drunkenmunky
Что содержит тогда $replaceTag?
kirpich
@Drunkenmunky
PHP:
Drunkenmunky
Развивайте мысль.
Я так понимаю, вы этот массив как-то используете. Не?
kirpich
@Drunkenmunky, я этот массив никак не использую. Это плагин от ВП, минифицирующий CSS&JS и всовывающий нужное в HTML. Я в PHP не шарю, поэтому куда там этот массив идёт — хезе
Я вижу только то, что код плагина цепляется к определённому тегу (в нашем случае это title) и перед ним всовывает код. Разраб решил выбрать тег title, т.к. этот тег используется почти на 100% сайтов. Только вот разраб не сделал перенос строки, то ли забыл, то ли забил…
Drunkenmunky
Попробуйте тогда после символа переноса вставлять комментарий.
Возможно, перед вставкой к вставляемому применяется trim()
НапримерКод (Text):
………$this->csscode[$media].'</style>’.PHP_EOL.'<!—eol—>’,$replaceTag);
Вероломство
бред какой-то: ровнять разметку на пыхе, чтобы она в исходном коде смотрелась красиво
ТС, ты когда получишь результат, то потом другой браузер возьми и там посмотри исходный код, будешь удивлён…
miketomlin
Вообще есть такое Но по идее должно легко отключаться. На наших сайтах эта хрень не используется. Если нужна «елочка» и т.п. в контенте, можно прикрутить фильтр прямо к редактору, чтобы сохранять эту «красоту» для потомков
— Добавлено —
Но с другой стороны в шабе логичнее это прикрутить, т.к. ближе к обрамляющей контент разметке. Т.е. чтобы общий отступ контента соответствовал отступу обрамляющего контент тега.
kirpich
Гляну
Ну… вариантов не оч много
kirpich
Да, сработало:
PHP:
$this->csscode[$media].‘</style>’.PHP_EOL‘,$replaceTag);