如何解决在分隔符之间提取文本-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”,其中下划线是一个空格,从该索引到最后一个字符的子字符串将是您的日期
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。