在YML文件+ PHP中搜索和替换

时间:2014-04-17 13:08:14

标签: php symfony search replace yaml

是否可以在yml文件中搜索字符串并替换它?这是我的yml文件的一部分:

'PST Today': 'PST Today'
'PST Today Table': 'PST Today Table'
Hosttess: Hosttess
'Permit Total': 'Permit Total'
Visit: Visit
Conversation: Conversation
....

:之前的每个规则的第一部分将始终相同,但现在我想在:之前查找第一部分并更改:后面的字符串。我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

尝试使用Symfony\Component\Yaml\Yaml课程。这是Symfony标准版的一部分。做类似的事情:

$dataArray = Yaml::parse($pathToYourYmlFile);

那么你可以做任何你想做的事情(array_filter可能吗?)你的$dataArray变量是常规数组。完成后,您可以使用:

$dataString = Yaml::dump($dataArray)

这将返回带有yaml内容的字符串,您可以将其保存回文件,可能是file_put_contents

答案 1 :(得分:0)

匹配'背后的价值:'你可以这样做:

<?php
  $contents = file_get_contents('file.yml');
  preg_match_all('/^[^:]:\s+(.*)$/', $contents, $matches);
  print_r($matches);
?>