Better whitespace handling in tags. Fixes #571

This commit is contained in:
Chris Kuethe 2016-05-19 11:33:45 -07:00 committed by ArthurHoaro
parent efc0c865ba
commit 4b35853d68

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*$/', '', $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;
}