下面是我的字符串,称为$ output,它来源于fsockopen和fread。唯一能够改变的是fread,但在此之前没有别的。PHP格式化字符串与MySQL数组结果类似
14336.0 K9IA 13-Aug-2012 1750Z washington, dc (throb)
14336.0 K9IA 13-Aug-2012 1750Z fond du lac, wi (ssb)
14336.0 K9IA 13-Aug-2012 1752Z calumet, wi (ssb)
14336.0 K9IA 13-Aug-2012 1752Z carsen city, nv (ssb)
14336.0 K9IA 13-Aug-2012 1753Z carson city, nv (ssb)
14336.0 K9IA 13-Aug-2012 1754Z dane, wi (ssb)
14336.0 K9IA 13-Aug-2012 1759Z dane, wi (cw)
14336.0 KA2TED 13-Aug-2012 1759Z Carson City,NV(SSB)
14336.0 K9IA 13-Aug-2012 1800Z dane, wi (psk)
14336.0 K9IA 13-Aug-2012 1801Z bristol, va (psk)
14336.0 K9IA 13-Aug-2012 1815Z caeson city, nv (rtty)
14336.0 K9IA 13-Aug-2012 1816Z carson city, nv (rtty)
我再取字符串$输出并执行以下操作:
$output = str_replace("\n", "<br>", $output);
此右括号后插入一个换行),并形成12行。到目前为止完美。
我需要做的就是现在购买$输出,并能够以格式良好的表格显示它。
我的意思是......
每一个领域,作为一个数组....我想用相同的格式,如果它是一个MySQL数据为:
while($row = mysqli_fetch_array($result))
echo $row['Freq'];
echo "</td><td>";
echo $row['Call'];
echo "</td><td>";
echo $row['Date'];
echo "</td><td>";
echo $row['Time'];
echo "</td><td>";
echo $row['CTYState'];
echo "</td><td>";
echo $row['Mode'];
echo "</td><td>";
每个单独的理由是我需要执行其他功能,如链接等与给定字段。我搜索,尝试,沮丧,知道必须有一种方法。我一次又一次地在VB和PHP中使用MySQL或odbc_connect做了这个,但从来没有使用过一个字符串。
UPDATE ....
我使用的方法埃德Manot发布,因为我将能够使用的字段的链接,不同颜色等等........
,但.. ........
它并不真的很好。我只能看到前两个字段。我可以看到的字段只有字段1和字段3。使用您的原始代码,我只能看到1 14336.0,没有别的。有任何想法吗?
echo "<table border='1'>";
echo"<tr><th>FieldA</th><th>FiledB</th><th>FiledC</th><th>FieldD</th><th>FieldE</th> <th>FiledF</th><th>FiledG</th></tr>\n";
//split the output into lines based on the line break character
$lines = explode("\n", $output);
foreach($lines as $line) {
//split the line into fields based on the space character
$fields = explode(" ", $line);
echo "<td>" .$fields[0]. "</td>";
echo "<td>" .$fields[1]. "</td>";
echo "<td>" .$fields[2]. "</td>";
echo "<td>" .$fields[3]. "</td>";
echo "<td>" .$fields[4]. "</td>";
echo "<td>" .$fields[5]. "</td>";
echo "<td>" .$fields[6]. "</td>";
echo "<td>" .$fields[7]. "</td>";
}
echo '</table>';
输入数据是可怕的格式。你确定这些字段不是制表符分隔的吗?这似乎是空格分隔的可能包含零个或多个空格的未加引号的字段,这只是愚蠢的。数据来自哪里? – DaveRandom 2012-08-13 19:20:54
这些字段是空格分隔的未加引号的字段。在每一行的结尾是一个新行。数据来自使用fsockopen和fread的telnet会话。 – Blue68Camaro 2012-08-14 12:45:08