Php 选择文本字符串的特定部分进行编辑

Php 选择文本字符串的特定部分进行编辑,php,Php,不确定术语,因为我通常不使用字符串,但这是我的问题。 我通过以下代码选择第三方文本文件的内容: $fh = fopen($filename, 'r'); $upgradedata = fread($fh, filesize($filename)); fclose($fh); 我得到的文本相当长,并且遵循一个相当规则的模式。以下是摘录: UpgradeType="Parc Ferme Reset" { UpgradeLevel="Race Setting" { Description=

不确定术语,因为我通常不使用字符串,但这是我的问题。 我通过以下代码选择第三方文本文件的内容:

$fh = fopen($filename, 'r');
$upgradedata = fread($fh, filesize($filename));
fclose($fh);
我得到的文本相当长,并且遵循一个相当规则的模式。以下是摘录:

UpgradeType="Parc Ferme Reset"
{

UpgradeLevel="Race Setting"
{
    Description="Default setting"
}
UpgradeLevel="Parc Ferme Reset"
{   
    Description="Reset setting"
}
}

UpgradeType="2014 Engine Development"
{
UpgradeLevel="Package #1 - Pre-Season Test #1"
{
Description="23/01 - Pre-Season Test #1"   
    Price=0

}
UpgradeLevel="Package #2 - Australian Grand Prix"
{
 Description="24/02 - Australian Grand Prix"
 Price=0

HDV=[ENGINE]
HDV=GeneralPowerMult*=1.0102459
HDV=EngineBoostRange=(0, 1, 2)
HDV=FuelConsumption*=0.9625  
HDV=
}
}
所有部分都以UpgradeType类别开始,并且子类别都以UpgradeLevel开始

我想做的是: 1查找类别UpgradeType=2014汽车开发 2计算其中的子类别UpgradeLevel。 3在它的末尾附加一个新的子类别,我已经创建了这个子类别,它包含在$datastring变量中

我和我的团队整个周末都在做这件事——在其他地方,我们使用getElementsByTagName,但由于缺少标记,而且我们无法更改原始文件,因为它们来自第三方,这意味着这条途径被排除在外


任何指向移动方向的指针——即使只是指向函数描述的链接——都是值得赞赏的

您必须使用这种特定类型的读取文件吗?您可以迁移到一种更常见的类型,比如非常类似的JSON,它已经有了用于读写的库?我没有绑定到我正在使用的任何特定系统,因为这是我发现的最简单/最早的系统,因此如果更方便的话,我可以使用不同的系统。我更多地指的是数据序列化的方式。它是如何格式化的。只要元素的顺序和{已就位,格式与这些文件几乎无关,因此我假设可以更改。上面显示的当前格式是.ini文件中的原始格式。在这种情况下,请查看JSON。它是一种广泛使用的序列化语言,PHP默认实现了它。