在分隔符之间提取文本-PHP

| 这是我的第一篇文章。我有一个文本(.txt)文件,其中包含来自多个来源的日记帐分录。我正在按日期,作者,标题等来组织条目。 每个条目都用\“ --- \”分隔。 每个日期都在\“ | \”之后给出。 每个作者都放在括号中。 标题位于条目顶部括号之前。 因此,典型的条目如下所示:
Title (Author) - Citation | Date Added

Entry
---
到目前为止,这是我的代码:
$text = file_get_contents(\'./uploads/My Clippings.txt\');

$entries = explode(\"==========\",$text);

$count = count($entries);
echo \"<h3>You have $count entries on your Kindle!</h3><br />\";

foreach ($entries as $entry) {
echo $entry . \"<br /><br />\";
}
现在,我有了一个由\“ --- \”分隔符分隔的条目数组。 接下来,我想按作者,标题等拆分数组中的每个字符串。 问题在于preg函数仅适用于数组,并且如果每个数组元素都是字符串,则此函数将不起作用。 我知道有几种方法可以解决此问题,但我似乎找不到适合我的情况的方法。     
已邀请:
可能是这个吗?
<?php
    $string = \'Dune 2000 (Frank Herbert) - Some Citation | 2011-05-25\';
    $pattern = \'/(.*) \\((.*)\\) \\- (.*) \\| (.*)/\';
    preg_match($pattern, $string, $matches);

    print_r($matches);
?>
输出:
Array
(
    [0] => Dune 2000 (Frank Herbert) - Some Citation | 2011-05-25
    [1] => Dune 2000
    [2] => Frank Herbert
    [3] => Some Citation
    [4] => 2011-05-25
)
    
对于每个类似“ѭ4”的条目,您将: 找到
_(
的第一个出现,其中下划线是一个空格,然后您的标题是从0到该索引的子字符串 找到
(
)
索引,并且那些索引的子字符串是您的作者 找到
-_
_|
的索引,其中下划线是空格,带有这些索引的子字符串是您的引文 找到索引“ѭ10”,其中下划线是一个空格,从该索引到最后一个字符的子字符串将是您的日期     

要回复问题请先登录注册