Fix render of links with both characters requiring percent encoding and markdown-like syntax

This commit is contained in:
aringenbach
2022-09-23 15:06:40 +02:00
parent e040a74563
commit 7b7770b59f
3 changed files with 18 additions and 2 deletions
@@ -166,10 +166,11 @@ private extension CMarkNode {
private extension String {
/// Returns array of URLs detected inside the String.
var containedUrls: [NSTextCheckingResult] {
guard let detector = try? NSDataDetector(types: NSTextCheckingResult.CheckingType.link.rawValue) else {
guard let detector = try? NSDataDetector(types: NSTextCheckingResult.CheckingType.link.rawValue),
let percentEncoded = self.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) else {
return []
}
return detector.matches(in: self, options: [], range: NSRange(location: 0, length: self.utf16.count))
return detector.matches(in: percentEncoded, options: [], range: NSRange(location: 0, length: percentEncoded.utf16.count))
}
}