Merge pull request #618 from ArthurHoaro/tagclean

Better whitespace handling in tags
This commit is contained in:
VirtualTam 2016-08-02 15:37:43 +02:00 committed by GitHub
commit 58f0660f80
3 changed files with 7 additions and 3 deletions

View file

@ -291,7 +291,7 @@ private function _readDB()
// Remove private tags if the user is not logged in.
if (! $this->_loggedIn) {
$link['tags'] = preg_replace('/(^| )\.[^($| )]+/', '', $link['tags']);
$link['tags'] = preg_replace('/(^|\s+)\.[^($|\s)]+\s*/', ' ', $link['tags']);
}
// Do not use the redirector for internal links (Shaarli note URL starting with a '?').
@ -442,7 +442,7 @@ public function allTags()
$tags = array();
$caseMapping = array();
foreach ($this->_links as $link) {
foreach (explode(' ', $link['tags']) as $tag) {
foreach (preg_split('/\s+/', $link['tags'], 0, PREG_SPLIT_NO_EMPTY) as $tag) {
if (empty($tag)) {
continue;
}

View file

@ -317,6 +317,10 @@ public function testAllTags()
'-exclude' => 1,
'.hidden' => 1,
'hashtag' => 2,
'tag1' => 1,
'tag2' => 1,
'tag3' => 1,
'tag4' => 1,
),
self::$privateLinkDB->allTags()
);

View file

@ -75,7 +75,7 @@ function __construct()
'',
1,
'20121206_182539',
'dev cartoon'
'dev cartoon tag1 tag2 tag3 tag4 '
);
}