Расставить с jQuery переносы для русского текста — вот задача, которую решает плагин, который мы предлагаем вашему вниманию.
История проблемы jQuery переносы
Есть задача автоматически расставить переносы в тексте на странице. Есть несколько возможных решений:
- сделать разбиение слов переносами на PHP, но при этом усложниться процесс вывода (тем более не удобно, если используется шаблонизатор, вроде Smarty).
- сделать разбиение слов переносами на CSS (есть правило hyphen: auto), но оно пока не работает почти во всех браузерах
- сделать переносы на Javascript, а ещё лучше на jQuery, чтобы удобно было использовать
Реализация jQuery переносы
В HTML есть невидимый глазу символ
, который появляется только тогда, когда стоит выправка по формату, слово не влазит в формат (в общем там, где нужно поставить перенос), но браузер сам не знает где ставить переносы (языков-то много), поэтому и нужно ему помочь, заранее поставив в нужных местах сиволы
, чтобы браузер сам в нужных местах их включал.
На помощь пришла довольно старая статья о правилах переносов в русском языке, приложенная к коду javascript на xpoint.
Возьмем это за основу, и реализуем в виде плагина jQuery, так, чтобы было удобно использовать.
Например, вот так:
$('p').hyphenate();
Результат:
Эпитет начинает ритм, об этом свидетельствуют краткость и завершенность формы, бессюжетность, своеобразие тематического развертывания. В связи с этим нужно подчеркнуть, что языковая материя абсурдно аннигилирует диссонансный диалектический характер, и это является некими межсловесными отношениями другого типа, природу которых еще предстоит конкретизировать далее. Диахрония доступна. Действительно, анапест вызывает диалогический гекзаметр, поэтому никого не удивляет, что в финале порок наказан.
Композиционно-речевая структура, не учитывая количества слогов, стоящих между ударениями, притягивает гекзаметр, именно об этом говорил Б.В.Томашевский в своей работе 1925 года. Впечатление аллитерирует эпизодический метаязык, об этом свидетельствуют краткость и завершенность формы, бессюжетность, своеобразие тематического развертывания. Ударение текуче. Языковая материя отражает метр, и это придает ему свое звучание, свой характер. Расположение эпизодов диссонирует холодный цинизм, потому что в стихах и в прозе автор рассказывает нам об одном и том же.
Код плагина jQuery переносы доступен на GitHub: https://github.com/kozachenko/jQuery-Russian-Hyphenation