Вы не зашли.
Страницы 1
Доброго времени суток. У меня такой вопрос:
При добавлении или редактировании новости в том месте, где автор жмёт "ENTER", то есть делает перенос на новую строку (абзац), при выводе появляется тег <br>. Подскажите, в каком файле можно найти и изменить этот появляющийся тег? И можно ли?
Моя цель: заменить вывод <br> на </p><p>. Таким образом текст новости будет поделён на параграфы, и при помощи СSS можно сделать смещение первой строки каждого параграфа:
.post p{text-indent: 20px;}
Так текст каждого абзаца(параграфа) в новости будет выделен смещением первой строки, и визуально мог бы соответствовать элементарным типографическим правилам.
Конечно, можно натыкать в каждом нужном месте , но это не выход, если работаешь с большими объёмами информации. Более того тег <br> не является валидным, в отличие от <br />
Не в сети
Если ты отключишь автоформатирование в новостях, то при нажатии enter - не будет добавляться <br/> - в таком случае ты сможешь на html полностью настраивать вид страницы.
Не в сети
qwas, надо не забыть тогда в начало новости запихнуть <p>, а в конец - </p>
engine/includes/classes/parse.class.php, функция htmlformatter, строка ~413:
$content = preg_replace('/\n/', "<br />", $content);
Можешь попробовать заменить на:
$content = preg_replace('/\n/', "</p><p>", $content);
а ниже
return $content;
заменить на:
return "<p>".$content."</p>";
Не в сети
qwas, надо не забыть тогда в начало новости запихнуть <p>, а в конец - </p>
Но текст новости уже выводится меж тегов <p></p>
Спасибо за ответ. Сейчас попробую
Не в сети
Спасибо, всё работает
Здесь ничего не менял:
return $content;
Теперь главное следить, чтобы не было лишних нажатий ENTER. Иначе пустые параграфы появятся
Не в сети
Поправка: в engine/includes/classes/parse.class.php не менял
return $content;
потому что в моём шаблоне news.full.tpl пост уже заключён в теги <p></p>
<p>
{short-story}{full-story}
[full-link]Читать полностью »[/full-link]
</p>
Изменено qwas (2013-05-10 09:56:57)
Не в сети
$content = preg_replace("/\n+/", "</p><p>", $content);
Не помогло. Лиса выводит единичный <p> </p> (с пробелом, вне зависимости от кол-ва нажатий ENTER)
И ещё: теперь при ручном вписывании в новость тега <br /> при выводе он игнорируется. Приравняв нажатие ENTER к новому параграфу, мы, получается, убрали единственную возможность использования <br />
Не в сети
О, да! Забыл о его существовании Только теперь его желательно использовать или в конце предыдущего параграфа (дважды), или в начале нового (единожды). Иначе он тоже попадёт в отдельных параграф
Не в сети
Прикольно так... Теперь с моего аккаунта кто-то левый пишет, супер!
Пардон, ложная тревога. Друг заходил отписывал
Изменено qwas (2013-05-10 14:54:38)
Не в сети
Страницы 1