有爆炸问题,我有简单的文本文件,每行都以数字结尾。我只想提取行号末尾并创建相同数量的子词。我试图使用爆炸功能,但无法只检索字符串数字的结尾。以下是.txt文件结构和我预期结果的代码。
'的text.txt'
a1 bbb ccc 111-111 ddd eee 3
a2 fff ccc(123-12312)111-111 ddd eee 2
a3 bbb aaa(32 32)111-111 ddd eee 4
<?php
$file = "C:\\test.txt";
$f = fopen($file, "r");
while ( $line = fgets($f, 1000) ) {
print "<br/>";
$pieces = explode(" ", $line);
print $line;
print "<br/>";
print "<\t>";
for(i=0; i>=$pieces[5];i++)
{
print "<br/>";
print "<\t>";
}
print "<br/>";
}
?
输出:
a1
A2
子串
2.子字符串
A3
子串
2.子串
子串
4.子字符串
答案 0 :(得分:3)
答案 1 :(得分:0)
您也可以使用substr()
echo substr(trim($line), -1);
我会这样做:
<?php
$file = "./test.txt";
foreach(file($file) as $lines){
echo '<ol>'.PHP_EOL;
$i = 1;
foreach($parts = explode(' ',trim($lines)) as $key=>$line){
if($key == 0){echo "\t<p>".$line.'</p>'.PHP_EOL;}
if($key >= 1 && $key <= end($parts)){echo "\t<li>".$line.'</li>'.PHP_EOL;}
$i++;
}
echo '</ol>'.PHP_EOL;
}
/* Result
<ol>
<p>a1</p>
<li>bbb</li>
<li>ccc</li>
<li>111-111</li>
</ol>
<ol>
<p>a2</p>
<li>fff</li>
<li>ccc</li>
</ol>
<ol>
<p>a3</p>
<li>bbb</li>
<li>aaa</li>
<li>(32</li>
<li>32)111-111</li>
</ol>
*/
?>