3

我在解析 PHP 文本时遇到问题 我有一个包含此类信息的 txt 文件:

sometext::sometext.0 = 整数:254

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

"sometext::sometext.0 = INTEGER: " 这部分根本没有改变。它的长度为 36 个符号,因此我需要使用 PHP 将 36 个符号之后的内容转换为变量。

谢谢你。

4

4 回答 4

3

尝试使用sscanf

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

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

于 2012-06-19T15:03:29.417 回答
1

也许substr()会做?

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

在这里查看它的实际效果(调整以匹配您的示例数据):http ://codepad.org/5Ikt3kRh

于 2012-06-19T15:12:41.983 回答
1

尝试使用fgets读取文件。

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

于 2012-06-19T15:13:25.433 回答
0

由于您知道字符串总是采用这种形式,因此您可以使用substr()函数来提取您想要的字符串部分。如果需要,然后使用intval()将其设为整数。

注意:我的计数显示您尝试获取的数字从第 33 位开始(以下变为 32,因为 substr 是基于 0 的),而不是第 36 位。

你可以得到你想要的:

$the_str = 'sometext::sometext.0 = INTEGER: 254';
$num = intval(substr($the_str, 32));
于 2012-06-19T15:20:00.297 回答