hsleedevelop
hsleedevelop
hsleedevelop
  • 분류 전체보기 (25)
    • Develop (25)
      • CS (1)
      • iOS (7)
      • Swift (14)
      • SwiftUI (0)
      • Flutter (1)
      • React (1)

최근 글

인기 글

태그

  • CLIENT_FETCH_ERROR
  • Xcode Definition
  • Xcode 정의
  • addPostFrameCallback
  • GoRoute 분기
  • GoRoute Modal
  • Simulator
  • Swift
  • builtInWideAngleCamera
  • GoRoute Nav
  • Xcode 정의로 이동하지 않고 우측 에디터에서 보는 방법
  • GoRoute Popup
  • html
  • Xcode 베젤
  • GoRouter
  • xcode 꿀팁
  • Link
  • XIB Inspectable
  • Xcode
  • architecturel
  • Jump to definition
  • 스위프트
  • Xcode 빌드
  • iOS QRCode
  • Xcode 14 빌드 속도 올리는 방법
  • 시뮬레이터
  • xcode 팁
  • excldue
  • enum 연동하는 방법
  • next-auth

최근 댓글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
hsleedevelop

hsleedevelop

Develop/Swift

String에 HTML 링크 적용

2023. 1. 7. 17:24
반응형

String에 HTML 링크 적용하는 방법입니다.

 

기본 제공하는 디텍터를 이용해서 링크를 찾고, 태그로 감싸진 경우에는 예외 처리되었습니다.

 

    func wrapLinkText() -> String? {
        let detector = try? NSDataDetector(types: NSTextCheckingResult.CheckingType.link.rawValue)
        guard let matches = detector?.matches(in: self, options: [], range: NSRange(location: 0, length: self.utf16.count)),
              matches.count > 0 else {
            return self
        }
        
        let validators = [">", "\""]
        var result = self
        
        for match in matches.reversed() {
            guard let range = Range(match.range, in: result) else { continue }

            if let prefix = result[safe: result.index(range.lowerBound, offsetBy: -1)], validators.contains(prefix.string) {
                continue
            }
                  
            let link = result[range]
            result.replaceSubrange(range, with: "<a href=\"\(link)\">\(link)</a>")
        }

        return result
    }

 

 

반응형

'Develop > Swift' 카테고리의 다른 글

스토리보드, XIB Inspectable에 enum 연동하는 방법  (0) 2023.01.29
M1 ARM-64 Simulator 지원하지 않는 프레임워크 수정하는 방법  (0) 2023.01.07
KingFisher에서 SVG 이미지 다운로드하는 방법  (0) 2022.11.13
SwiftUI 상에서 HTML 출력과 Link, CSS 적용하는 방법  (0) 2022.11.13
multi-line 문구 localizable.strings 적용 방법  (0) 2022.10.13
    'Develop/Swift' 카테고리의 다른 글
    • 스토리보드, XIB Inspectable에 enum 연동하는 방법
    • M1 ARM-64 Simulator 지원하지 않는 프레임워크 수정하는 방법
    • KingFisher에서 SVG 이미지 다운로드하는 방법
    • SwiftUI 상에서 HTML 출력과 Link, CSS 적용하는 방법
    hsleedevelop
    hsleedevelop
    iOS, Swift js, node js, react c, c++, .net ruby, sql

    티스토리툴바