PLT-2077 Support CJK hashtags (#4555)
* Add Korean character ranges to exist CJK pattern * Add constant for CJK hashtags Becuase most of keywords in CJK are two characters * Add CJK ranges to hashtag pattern to handle it. * Fixes hashtag pattern to apply numbers at last * Remove a wrong test case `test_` shouldn't be a hashtag * Fix hashtag regex to support standard unicodes * Remove wrong escapes from regex
Этот коммит содержится в:
коммит произвёл
Joram Wilander
родитель
981ea33b8e
Коммит
2abcc25173
@@ -11,7 +11,7 @@ import XRegExp from 'xregexp';
|
||||
|
||||
// pattern to detect the existance of a Chinese, Japanese, or Korean character in a string
|
||||
// http://stackoverflow.com/questions/15033196/using-javascript-to-check-whether-a-string-contains-japanese-characters-includi
|
||||
const cjkPattern = /[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/;
|
||||
const cjkPattern = /[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf\uac00-\ud7a3]/;
|
||||
|
||||
// Performs formatting of user posts including highlighting mentions and search terms and converting urls, hashtags,
|
||||
// @mentions and ~channels to links by taking a user's message and returning a string of formatted html. Also takes
|
||||
@@ -342,7 +342,7 @@ function autolinkHashtags(text, tokens) {
|
||||
return prefix + alias;
|
||||
}
|
||||
|
||||
return output.replace(/(^|\W)(#[a-zA-ZäöüÄÖÜß][a-zA-Z0-9äöüÄÖÜß.\-_]*)\b/g, replaceHashtagWithToken);
|
||||
return output.replace(XRegExp.cache('(^|\\W)(#\\pL[\\pL\\d\\-_.]*[\\pL\\d])', 'g'), replaceHashtagWithToken);
|
||||
}
|
||||
|
||||
const puncStart = XRegExp.cache('^[^\\pL\\d\\s#]+');
|
||||
|
||||
Ссылка в новой задаче
Block a user