diff --git a/classes/citation/CitationListTokenizerFilter.php b/classes/citation/CitationListTokenizerFilter.php index 2975ae7a264..8f766371b49 100644 --- a/classes/citation/CitationListTokenizerFilter.php +++ b/classes/citation/CitationListTokenizerFilter.php @@ -56,10 +56,8 @@ public function &process(&$input) } else { $citations = explode("\n", $input); } - // 4) Remove numbers from the beginning of each citation. - foreach ($citations as $index => $citation) { - $citations[$index] = PKPString::regexp_replace('/^\s*[\[#]?[0-9]+[.)\]]?\s*/', '', $citation); - } + // 4) Remove whitespace from the beginning and the end of each citation. + $citations = array_map('trim', $citations); return $citations; } diff --git a/tests/classes/citation/CitationListTokenizerFilterTest.php b/tests/classes/citation/CitationListTokenizerFilterTest.php index c861b83c756..ff75024e345 100644 --- a/tests/classes/citation/CitationListTokenizerFilterTest.php +++ b/tests/classes/citation/CitationListTokenizerFilterTest.php @@ -31,10 +31,10 @@ public function testCitationListTokenizerFilter() $tokenizer = new CitationListTokenizerFilter(); $rawCitationList = "\t1. citation1\n\n2 citation2\r\n 3) citation3\n[4]citation4"; $expectedResult = [ - 'citation1', - 'citation2', - 'citation3', - 'citation4' + '1. citation1', + '2 citation2', + '3) citation3', + '[4]citation4' ]; self::assertEquals($expectedResult, $tokenizer->process($rawCitationList));