HTML textarea对齐

时间:2015-06-10 06:57:32

标签: php html css alignment word

假设我有textarea填写了以下文字

  

雇员/公司/薪水

     

约翰/微软/ 12.000

     

迈克尔/ citrusdata / 15.000

如何垂直对齐每列,以便我得到以下文字:

  

雇员__________公司__________薪水

     

约翰______________微软__________ 12.000

     

迈克尔___________ citrusdata __________ 15.000

在这个例子中,我使用下划线来指定空格,考虑编写一个简单的函数,如nl2br()来替换' /'有一个或多个制表符,但它不是一个一致的解决方案,我想我需要逐行阅读文本并考虑每个单词的长度,我需要替换' /'有足够的空白,但不知道如何编码,还有其他方法吗?

2 个答案:

答案 0 :(得分:0)

您应该为每个列指定每个或任何所需宽度的50个字符的宽度。让它说$COLUMN_WIDTH = 100; 查找列值(字符串)的长度,而不是从固定长度中减去它 $COUNT_SPACES_TO_INSERT = $COLUMN_WIDTH - strlen($COLUMN_STR); 比插入$ COUNT_SPACES_TO_INSERT空格数,它将解决您的问题。

答案 1 :(得分:0)

我想你会在textarea本身之外输出textarea内容,否则你需要使用js替代。我的回答使用php :) 因此,您可以使用允许左侧或右侧填充的sprintf function

只需拆分内容即可获得一系列行

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

处理最后的空白最后一个条目(如果您的内容以\ n结尾)

然后

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

“% - 15”告诉左边有15个空格。 它适用于控制台,但你必须在网页回显之前使用nl2br!

这是示例,因此您必须添加错误测试(例如,只有一行的行)。