Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Как загрузить?
Сниппет PhpHypher, который подключает класс для расстановки переносов от Сергея Куракина.
Пользоваться очень просто.
Слово автору:
Пользоваться очень просто.
// Обычный вызов: [[*content:phphypher]] // Можно указывать длину получаемого текста. // Лишний текст будет заменен многоточием. [[*content:phphypher=`500`]]Есть один параметр — exclude. Это регулярное выражение для исключения элементов из расстановки переносов. По умолчанию оно выключает основные html теги.
Слово автору:
Алгоритм Ляна-Кнута для автоматической расстановки переносов разработан в 1983 году. Автор алгоритма: Франклин Марк Лян (англ. Franklin Mark Liang), студент профессора Дональда Эрвина Кнута (англ. Donald Ervin Knuth). Впервые алгоритм был применен в издательской системе TeX, автором которой является проф. Дональд Кнут.
Алгоритм работает в два этапа. На первом этапе по словарю переносов строится относительно компактный (в сравнении с исходным словарем) набор правил, позволяющий восстановить все места мягких переносов во всех словах исходного словаря.
Второй этап — собственно расстановка переносов с использованием полученного набора правил. Практика показывает, что в большинстве случаев алгоритм позволяет найти правильные места для переносов даже в тех словах и словоформах, которые в исходном словаре отсутствовали.
Качество расстановки переносов напрямую зависит от качества набора правил, которое, в свою очередь, зависит от полноты и качества исходного словаря переносов.
Первый этап алгоритма — изготовление набора правил, так называемых «паттернов» — реализуется классической программой patgen, которая, однако, требует особого искусства в обращении.
Здесь будем говорить почти исключительно о втором этапе алгоритма Ляна-Кнута — расстановке мягких переносов с использованием готового набора правил. Вопросы первого этапа, не говоря уже о «нулевом», находятся далеко за пределами компетенции автора. Интересующиеся могут почитать учебник по patgen'у и диссертацию Франклина Ляна: Word Hy-phen-a-tion by Com-put-er.
1.0.3 (07.05.2017)
- [#2] Updated regex for "&exclude".
1.0.2 (19.07.2016)
- Improved default value of parameter "&exclude".
1.0.1 (19.10.2012)
- Added parameter "&exclude".
1.0.0 (19.10.2012)
- Initial release.
Последние обсуждения в сообществе MODX.pro