我正在尝试从Isam文件中分离数据,使用fgets和substr逐行循环,从正确的行位置获取正确的数据。
来源数据:
000000124325424Productname Type Price Weight Unit Unitcode
000000124325324Productname2 Type2 Price2 Weight2 Unit2 Unitcode2
问题是substr不会重新定位数据之间的额外空间,因此数据的位置会改变每一行。
Substr是"看到"像这样的行:
000000124325424Productname Type Price Weight Unit Unitcode
有没有办法保留项目之间的空格?
答案 0 :(得分:2)
在编辑问题后,它会让我觉得您可能正在处理制表符分隔的字符串\t
。无论哪种方式,在您尝试使用substr()
之前清理每个字符串:
$s = preg_replace('/\s+/', ' ', $s);
这将删除多个空格" "
=> " "
,标签\t
甚至换行符。
也许你可以在消毒后找到explode()
作为更好的方法:
explode(" ", str_replace("\t", " ", $line1))[0]
永远是第一项,即没有额外空格的产品代码。
答案 1 :(得分:1)
当您在网页中显示文字时,网络浏览器不会显示多个空格。尝试将文本包装在预格式化标签中,如此
<pre>000000124325324Productname2 Type2 Price2 Weight2 Unit2 Unitcode2</pre>
然后浏览器将呈现所有显示的空格。
您可以使用View Source解决此类问题...在浏览器中。