PHP:对齐由php脚本生成的文本文件中的文本

时间:2015-09-02 10:31:39

标签: php

我正在使用php脚本创建一个文本文件,其中文本将来自 textarea ,现在我可以在该文本文件中写入文本,但它是左对齐但我想在中心或特定(特定)空间之后对齐它。 我正在使用以下php代码来编写 textarea 文本/值。

 echo str_pad($headerText,100," ",STR_PAD_LEFT).PHP_EOL;

用户输入可以如下:

enter image description here

和输出文件如下:

enter image description here

这里的第一行看起来不错,但在接下来的行中,文字不是在给定spage(100)之后。

3 个答案:

答案 0 :(得分:1)

只需使用STR_PAD_BOTH“居中”文字即可。有关详细信息,请参阅http://php.net/manual/de/function.str-pad.php部分pad_type / example#1。

如果您有多行文本,我的方法是将字符串拆分为每行一个字符串(并将它们存储到数组中)。之后我将应用str_pad,然后合并字符串,添加newline-commands。

$headerText="Hello\nWorld!\nHello World!";
echo $headerText;

echo "\n\n";     // Just for a nicer output

$strArr = explode("\n",$headerText);     // Split
$final="";

for($i=0;$i<count($strArr);$i++)
{
     $final.=str_pad($strArr[$i],50,"_",STR_PAD_BOTH)."\n";    // "center" and concat
}
echo $final;

答案 1 :(得分:0)

使用STR_PAD_BOTH将文本作为中心。

答案 2 :(得分:0)

使用以下代码。

<?php
 $myFile = "myfile.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
fprintf ($fh, "\r\n%1s %14s %14s",  "saa", "sasasasa","sasasas");
fclose($fh);
?>