Сбалансированный перенос слов (минимальная неровность) в PHPPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Сбалансированный перенос слов (минимальная неровность) в PHP

Сообщение Anonymous »

Я собираюсь создать алгоритм переноса слов на PHP. Я хочу разбить небольшие фрагменты текста (короткие фразы) на n строк по максимальному числу m символов (n не задано, поэтому будет столько строк, сколько необходимо). Особенность заключается в том, что длина строк (в символах) должна быть максимально сбалансирована по строкам.

Пример входного текста:

Код: Выделить всё

How to do things
Неправильный вывод (это обычный перенос слов), m=6:

Код: Выделить всё

How to
do
things
Желаемый результат, всегда m=6:

Код: Выделить всё

How
to do
things
Есть ли у кого-нибудь предложения или рекомендации по реализации этой функции? По сути, Я ищу что-нибудь для красивых коротких фраз на двух или трех (как можно больше) строках одинаковой длины.



Обновление: Кажется, я ищу именно алгоритм переноса слов с минимальной неровностью. Но я не могу найти никакой реализации на реальном языке программирования (любом, тогда я смогу преобразовать ее в PHP).



Обновление 2: я объявил за это награду. Возможно ли, что не существует общедоступной реализации алгоритма минимальной неровности на каком-либо процедурном языке? Мне нужно что-то написанное таким образом, чтобы его можно было перевести в процедурные инструкции. Все, что я могу найти сейчас, — это просто набор (общих) уравнений, для которых, однако, требуется оптимальная процедура поиска. Я также буду благодарен за реализацию, которая может лишь аппроксимировать этот оптимальный алгоритм поиска.

Подробнее здесь: https://stackoverflow.com/questions/907 ... ess-in-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»