所以典型的条目如下:
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函数只适用于数组,如果每个数组元素都是一个字符串,这将不起作用。
我知道有几种方法可以解决这个问题我似乎无法找到适用于我的情况。
答案 0 :(得分:2)
可能是这个?
<?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
)
答案 1 :(得分:0)
对于每个类似Title (Author) - Citation | Date Added
的条目,您会:
_(
的第一个出现,其中下划线是一个空格,然后你的标题是从0到该索引的子字符串(
和)
索引,带有这些索引的子字符串是您的作者-_
和_|
的索引,其中下划线是空格,带有这些索引的子字符串是您的引文|_
的索引,其中下划线是一个空格,从该索引到最后一个字符的子字符串将是您的日期