假设我有textarea填写了以下文字
雇员/公司/薪水
约翰/微软/ 12.000
迈克尔/ citrusdata / 15.000
如何垂直对齐每列,以便我得到以下文字:
雇员__________公司__________薪水
约翰______________微软__________ 12.000
迈克尔___________ citrusdata __________ 15.000
在这个例子中,我使用下划线来指定空格,考虑编写一个简单的函数,如nl2br()
来替换' /'有一个或多个制表符,但它不是一个一致的解决方案,我想我需要逐行阅读文本并考虑每个单词的长度,我需要替换' /'有足够的空白,但不知道如何编码,还有其他方法吗?
答案 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!
这是示例,因此您必须添加错误测试(例如,只有一行的行)。