Выровнять по центру обычный текст (php) - PullRequest
1 голос
/ 31 августа 2010

Меня попросили найти решение, которое позволило бы нашим пользователям создавать свои собственные текстовые диалоги на языке javascript. Однако нам нужно, чтобы он был в центре.

На данный момент у нас есть текстовая область, которую пользователь добавляет с помощью пробелов и тестирует с помощью кнопки предварительного просмотра. Я хотел бы изменить это, чтобы текст выравнивался по центру автоматически. Я думаю, это будет означать просто добавление пробелов строка за строкой в ​​бэкэнд, а также добавление правильных разрывов строк.

Единственный способ, которым я могу придумать, это получить самую длинную строку как int, а затем вычесть из нее последующие строки, вычесть результат на два и выделить столько пробелов спереди и сзади. *

Есть ли более чистый и элегантный способ решения этой проблемы? Есть ли способы выравнивания текста внутри диалога?

Я рассматривал что-то вроде TinyMCE, но я думаю, что это немного излишне, потому что это строка из 150 символов, 4-5 строк.

Ответы [ 2 ]

0 голосов
/ 31 августа 2010

На стороне PHP вы можете сделать это.

$lines=array();
foreach (explode("\n",wordwrap($str,$len=80)) as $line)
  $lines[]=str_pad($line,$len,' ',STR_PAD_BOTH);
echo implode("\n",$lines);

Версия Javascript должна быть легко написана.

0 голосов
/ 31 августа 2010

Эта страница имеет полезную функцию javascript для выравнивания по центру строки с использованием отступов.Предполагая, что вы отображаете простой текст фиксированной ширины (используя тег <pre> или аналогичный), вам необходимо получить длину самой длинной строки и заполнить ее соответственно.Если нет, это просто вопрос установки css: #myDiv { text-align:center; } на элемент div, содержащий текст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...