Merge pull request #491 from ShinoharaTa/fix_broken_japanese_view
Fixed a bug in Japanese string display
This commit is contained in:
@@ -52,7 +52,8 @@ val shortDatePattern: Pattern = Pattern.compile("^\\d{2}-\\d{2}-\\d{2}$")
|
|||||||
val numberPattern: Pattern = Pattern.compile("^(-?[\\d.]+)([a-zA-Z%]*)$")
|
val numberPattern: Pattern = Pattern.compile("^(-?[\\d.]+)([a-zA-Z%]*)$")
|
||||||
|
|
||||||
// Group 1 = url, group 4 additional chars
|
// Group 1 = url, group 4 additional chars
|
||||||
val noProtocolUrlValidator = Pattern.compile("(([\\w\\d-]+\\.)*[a-zA-Z][\\w-]+[\\.\\:]\\w+([\\/\\?\\=\\&\\#\\.]?[\\w-]+)*\\/?)(.*)")
|
// val noProtocolUrlValidator = Pattern.compile("(([\\w\\d-]+\\.)*[a-zA-Z][\\w-]+[\\.\\:]\\w+([\\/\\?\\=\\&\\#\\.]?[\\w-]+)*\\/?)(.*)")
|
||||||
|
val noProtocolUrlValidator = Pattern.compile("(([\\w\\d-]+\\.)*[a-zA-Z][\\w-]+[\\.\\:]\\w+([\\/\\?\\=\\&\\#\\.]?[\\w-]*[^\\p{IsHan}\\p{IsHiragana}\\p{IsKatakana}])*\\/?)(.*)")
|
||||||
|
|
||||||
class RichTextParser() {
|
class RichTextParser() {
|
||||||
fun parseText(
|
fun parseText(
|
||||||
@@ -67,8 +68,15 @@ class RichTextParser() {
|
|||||||
null
|
null
|
||||||
} else if (isNumber(it.originalUrl)) {
|
} else if (isNumber(it.originalUrl)) {
|
||||||
null
|
null
|
||||||
|
} else if (it.originalUrl.contains("。")) {
|
||||||
|
null
|
||||||
} else {
|
} else {
|
||||||
it.originalUrl
|
val pattern = "^((http|https)://)?([A-Za-z0-9-]+(\\.[A-Za-z0-9]+)+)(:[0-9]+)?(/[^?#]*)?(\\?[^#]*)?(#.*)?".toRegex(RegexOption.IGNORE_CASE)
|
||||||
|
if (pattern.matches(it.originalUrl)) {
|
||||||
|
it.originalUrl
|
||||||
|
} else {
|
||||||
|
null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,7 +180,8 @@ class RichTextParser() {
|
|||||||
} else if (schemelessMatcher.find()) {
|
} else if (schemelessMatcher.find()) {
|
||||||
val url = schemelessMatcher.group(1) // url
|
val url = schemelessMatcher.group(1) // url
|
||||||
val additionalChars = schemelessMatcher.group(4) // additional chars
|
val additionalChars = schemelessMatcher.group(4) // additional chars
|
||||||
if (url != null) {
|
val pattern = "^([A-Za-z0-9-]+(\\.[A-Za-z0-9]+)+)(:[0-9]+)?(/[^?#]*)?(\\?[^#]*)?(#.*)?".toRegex(RegexOption.IGNORE_CASE)
|
||||||
|
if (pattern.matches(word)) {
|
||||||
SchemelessUrlSegment(word, url, additionalChars)
|
SchemelessUrlSegment(word, url, additionalChars)
|
||||||
} else {
|
} else {
|
||||||
RegularTextSegment(word)
|
RegularTextSegment(word)
|
||||||
|
|||||||
Reference in New Issue
Block a user