Я пытаюсь преобразовать строку html в NSAttributedString
и отредактировать ее, а затем преобразовать обратно в html. Но есть определенные атрибуты, которые удаляются, когда мы конвертируем из html в NSAttributedString
.
Образец Html:
<p>
<b>
<u context=SampleContext1 id=5def9d85389434f861dbfd1e>Sample Heading</u>
</b>
</p>
<p>Sample SubHeading</p>
<ul>
<li>
<b>Sample Title:</b>
<u context=SampleContext2 id=5def9d85389434f861dbfd1d>Sample Sentence1</u>
<u context=SampleContext3 id=5def9d853894340078dbfcf5>Sample Sentence2</u>
</li>
</ul>
Я использую приведенный ниже код для преобразования вышеуказанного html в NSAttributedString.
let attributedHtmlString = try NSMutableAttributedString.init(data: (htmlString.data(using: String.Encoding.unicode))!, options: [.documentType: NSAttributedString.DocumentType.html], documentAttributes: nil)
self.htmlTextView.attributedText = attributedHtmlString
Текущий вывод:
Sample Sentence1{
NSColor = "kCGColorSpaceModelRGB 0 0 0 1 ";
NSFont = "<UICTFont: 0x7fa0bced7500> font-family: \"TimesNewRomanPS-BoldMT\"; font-weight: bold; font-style: normal; font-size: 14.00pt";
NSKern = 0;
NSParagraphStyle = "Alignment 0, LineSpacing 0, ParagraphSpacing 0, ParagraphSpacingBefore 0, HeadIndent 36, TailIndent 0, FirstLineHeadIndent 0, LineHeight 18/0, LineHeightMultiple 0, LineBreakMode 0, Tabs (\n 11L,\n 36N\n), DefaultTabInterval 36, Blocks (null), Lists (\n \"NSTextList 0x600001fc27f0 format <{disc}>\"\n), BaseWritingDirection 0, HyphenationFactor 0, TighteningForTruncation NO, HeaderLevel 0 LineBreakStrategy 0";
NSStrokeColor = "kCGColorSpaceModelRGB 0 0 0 1 ";
NSStrokeWidth = 0;
NSUnderline = 1;
}
Есть ли способ добавить специфику c теги или атрибуты в html, которые преобразуются в специфицированный c атрибут внутри NSAttributedString?
Я хочу сохранить эти контексты и идентификаторы, прикрепленные к их соответствующим предложениям. Есть ли способ сделать это?
Спасибо