Если я понял, что вы пытаетесь сделать, это должно сделать то, что вам нужно.
<?
define(DELIMITER, '--@--');
$fh = fopen('test.txt');
$sections = array();
while ($line = fgets($fh)) {
if ($line == DELIMITER)
continue;
$matches = array();
if (preg_match('/name:"(.*)"/i', $line, $matches)) {
$cursect = $matches[1];
continue;
}
$sections[$cursect] .= $line;
}
fclose($fh);
foreach($sections as $name => $content) {
// Do processing here.
}
Более простые методы возможны с использованием file_get_contents, но в зависимости от того, насколько велик ваш файл, который может не бытьвозможно, так как вам придется загрузить весь файл в память.