Я собираюсь сделать алгоритм переноса слов в PHP. Я хочу разбить небольшие куски текста (короткие фразы) в n строках с максимальными m-символами (n не задано, поэтому будет столько строк, сколько необходимо). Особенность заключается в том, что длина линий (в символах) должна быть максимально сбалансирована по линиям.
Пример ввода текста:
How to do things
Неверный вывод (это нормальное поведение переноса слов), m = 6:
How to
do
things
Желаемый вывод, всегда m = 6:
How
to do
things
Есть ли у кого-нибудь предложения или рекомендации о том, как реализовать эту функцию? В основном, Я ищу что-то для коротких коротких фраз на двух или трех (насколько это возможно) строки с одинаковой длиной.
Обновить. Кажется, я ищу именно для алгоритма с минимальным обрывом слов. Но я не могу найти какую-либо реализацию на реальном языке программирования (кто-то, тогда я могу преобразовать его в PHP).
Обновление 2. Я начал за это щедрость. Возможно ли, что не существует какой-либо публичной реализации алгоритма минимальной рваности на любом процедурном языке? Мне нужно что-то написанное таким образом, чтобы его можно было перевести в процедурные инструкции. Все, что я могу найти сейчас, - это просто реплика (общее) уравнение, которое, однако, нуждается в оптимальной процедуре поиска. Я также буду благодарен за реализацию, которая может только приблизить этот оптимальный алгоритм поиска.