PHP - 从特定位置读取TXT

时间:2012-06-19 15:00:59

标签: php parsing text position

我在PHP文本解析方面遇到了麻烦 我有一个txt文件,其中包含以下信息:

  

sometext :: sometext.0 = INTEGER:254

我需要的是在PHP中将254的最后一个值作为变量。 在此txt文件中,此最后一个值可以从0更改为255

“sometext :: sometext.0 = INTEGER:”这部分根本不会改变。 它有36个符号的长度,所以我需要使用PHP将36符号后的内容变为变量。

谢谢。

4 个答案:

答案 0 :(得分:3)

尝试使用sscanf

$string = "sometext::sometext.0 = INTEGER: 254";    
sscanf($string, "sometext::sometext.0 = INTEGER: %d", $number);
echo $number;

演示:http://codepad.org/Ash2QHvI

答案 1 :(得分:1)

也许substr()会这样做?

$text = "sometext::sometext.0 = INTEGER: 254";    
print substr($text, 37);

在此处查看此操作(已调整以匹配您的示例数据):http://codepad.org/5Ikt3kRh

答案 2 :(得分:1)

尝试fgets阅读文件。

对于解析,我使用 split 。我在这里写了example。但是sscanf似乎是更好的选择。

答案 3 :(得分:0)

由于您知道字符串始终是该表单,因此您可以使用substr()函数来提取所需字符串的一部分。然后使用intval()使其成为整数(如果需要)。

注意:我的计数显示你想要获得的数字从第33位开始(由于substr为0,因此变为32以下),而不是第36位。

你可以得到你想要的东西:

$the_str = 'sometext::sometext.0 = INTEGER: 254';
$num = intval(substr($the_str, 32));