0

我正在尝试格式化以 Courier 字体显示的文本,并且我想在每行的开头输入 18 个空格,以便它们与页面上已经存在的其他列对齐。

我的文字是:

12 Something Street
1234 Ave
City, State Zip
Country

理想情况下,我想:

                  12 Something Street
                  1234 Ave
                  City, State Zip
                  Country
4

4 回答 4

1

用这个

$stuff = "12 Something Street
1234 Ave
City, State Zip
Country";

$stuff2 = str_replace("\n", "                  \n", $stuff);

或者,您也可以使用str_pad

$stuff2 = str_pad($stuff, 18, " ", STR_PAD_LEFT);
于 2013-10-18T04:55:22.333 回答
0

如果你想在 html 中显示它:

$input='12 Something Street
1234 Ave
City, State Zip
Country';

$stringInput = explode( "\n" ,$input);

foreach( $stringInput as $item)
{
    echo '                  ' ,$item;
}
于 2013-10-18T05:12:47.523 回答
0

经过测试和工作

<?php
$str=<<<EOD

12 Something Street
1234 Ave
City, State Zip
Country
EOD;
$string = "<font face='courier'>$str</font>";
$strL = explode( "\r" ,$string );

$i=0;
foreach($strL as $line)
{
    //echo str_pad($line, 18, "D",STR_PAD_LEFT);
    echo str_repeat("&nbsp;", 18).$line;
    echo "<br>";
}

输出:

在此处输入图像描述

于 2013-10-18T05:13:09.100 回答
0

如果稍后更改字体大小怎么办?使用 CSS。

你可以做 $foo = "&nbsp;&nbsp;&nbsp;".%foo

虽然真的很糟糕 - 使用 css,特别是填充和/或边距。

于 2013-10-18T04:58:55.497 回答