2015-06-10 7 views
1

Пусть я текстовое поле заполняется следующим текстомHTML Выравнивание текстовое поле

сотрудника/компании/зарплата

джон/Microsoft/12.000

Майкла/citrusdata/15,000

Как могу ли выровнять каждую колонку по вертикали, чтобы получить следующий текст:

employee__________company__________salary

джон ______________ Microsoft __________ 12,000

майкл ___________ citrusdata __________ 15,000

В этом примере я использовал подчёркивания указать пробельные, думал написать простую функцию, как nl2br() заменить '/' с одним или многие символы табуляции, но это не будет согласованным решением, думаю, мне нужно читать текст за строкой и рассматривать длину каждого слова, мне нужно заменить '/' на достаточное количество пробелов, но у меня нет никакого идеала как его кодировать, есть ли другой способ?

+0

Почему текстовое поле и не сдержанные входы? –

+0

В textarea нет столбцов – umka

+0

Я хочу получить второй вывод, потому что в моей локальной базе данных есть текстовые поля, и я записываю свои записи из базы данных в текстовый документ, поэтому необходимо создать выравнивание –

ответ

0

Я предполагаю, что вы выведете контент textarea вне самого текстового поля, иначе вам нужно будет использовать js-альтернативу. Мой ответ использует php :) Итак, вы можете использовать sprintf function, который позволяет оставлять левую или правую прокладку.

Просто разделить ваше содержание, чтобы получить массив строк

$lines = explode("\n", $content); 

Заботиться о возможной пустой последней записи (если содержание заканчиваются \ п)

Тогда

foreach($lines as $line) { 
    $items = explode("/", $line) ; 
    echo sprintf("%-15s%-15s%-15s", $items[0], $items[1], $items[2]) . "<br/>"; 
} 

«% -15» указывает левой панели с 15 пустым пространством. Он работает на консоли, но вы должны nl2br его перед эхом в веб-страницах!

Это образец, поэтому вам нужно добавить тестирование ошибок (строки только с одним/например).

+0

спасибо Армаге, оценил :) Мне нравятся подобные решения Редактирование: да, вы правы, я буду использовать вывод, чтобы записать его в слово документ –

0

Вы должны указать ширину каждого столбца, как 50 символов для каждой или любой желаемой ширины. скажем, $COLUMN_WIDTH = 100; найти длину значения столбца (строки), чем вычесть его из фиксированной длины, например $COUNT_SPACES_TO_INSERT = $COLUMN_WIDTH - strlen($COLUMN_STR); Чем вставить $ COUNT_SPACES_TO_INSERT количество пробелов, это решит вашу проблему.

+0

Можете ли вы дать дополнительные объяснения, пожалуйста , Я новичок на всех php и html, и я не уверен, что его решение или нет –

+0

где путаница? –

+0

Спасибо Muzammil, Armage дал пример, который я хотел, я искал php-решение –

Смежные вопросы