При составлении контента очень удобно использовать стандартный фильтр переноса строк и параграфоф. Однако, если требуется использовать экзотические HTML тэги, фильтр переноса может поломать валидный HTML код некорректной вставкой параграфов.
Проблему можно решить в лоб, использовав формат ввода без переноса строк. Но есть еще один обход проблемы. Друпаловский фильтр переноса обходит стороной теги <pre>
. Если вставить сложный кусок текста внутрь этого тега, его HTML разметка останется прежней.
Казалось бы — вот оно, решение. Но тэг <pre>
был задуман для того, чтобы его внутренности выглядели точно так, как были введены. Т.е. переводы строки остаются переводами строки, а не пробелами. Все это можно отключить используя CSS:
pre.noformat{
white-space:normal;
}
После этого, куски проблемного текста вводятся так:
<pre class="noformat">
<p>текст-текст</p>
<blockquote>
<p>Текст-текст-текст</p>
<div class="some class">Еще текст <div>и еще немного</div></div>
</blockquote>
</pre>
Не забывайте, что внутри такого блока параграфы надо будет расставлять вручную.
Для тех, кто не знает откуда статья 