次のような単純なデータ形式があります。
stuff/stuff/stuff
例は次のとおりです。
data/test/hello/hello2
特定のデータを取得するには、私のパーサーを使用します。パーサーは次のことを試みます。
のdata/test/hello/hello2
の下のデータを取得したいとしますdata/test
(これは ですhello
)。私のパーサーのコードは次のとおりです。
function getData($data, $pattern)
{
$info = false;
$dataLineArray = explode("\n", $data);
foreach($dataLineArray as &$line)
{
if (strpos($line,$pattern) !== false) {
$lineArray = explode("/", $line);
$patternArray = explode("/", $pattern);
$iteration = 0;
foreach($lineArray as &$lineData)
{
if($patternArray[$iteration] == $lineData)
{
$iteration++;
}
else
{
$info = $lineData;
}
}
}
}
return $info;
}
ただし、常に最後のアイテムを返すようです。この場合はhello2
次のとおりです。
echo getData("data/test/hello/hello2", "data/test");
私に与えます。
hello2
私は何を間違っていますか?