feat(blogs): Change conversion to HTML

This commit is contained in:
sweetbread 2024-05-26 16:24:21 +03:00
parent 9e1e64f3fc
commit 8b57881e28

View File

@ -219,13 +219,39 @@ private fun toHtml(
processor: TextProcessor, processor: TextProcessor,
post: Post post: Post
): String { ): String {
val html = processor.process(post.content) Log.d("toHTML | original", post.content)
return html.replace("""\[URL=(.+)](.+)\[/URL]""".toRegex()) {
Log.d("replace", it.groups.toString()) val result =
"<a href='${it.groups[1]?.value}'>${it.groups[2]?.value}</a>" post.content.replace("""\[URL=(.+?)](.+?)\[/URL]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
}.replace("""(\[FONT=.+]|\[CENTER])(.+)(\[/FONT]|\[/CENTER])""".toRegex()) { "<a href=\"${it.groups[1]?.value}\">${it.groups[2]?.value}</a>"
it.groups[2]?.value.toString() }.replace("""\[FONT=(.+?)](.*?)\[/FONT]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
}.replace("""\[IMG .+].+\[/IMG]""".toRegex(), "") "<span style=\"font-family: ${it.groups[1]?.value}\">${it.groups[2]?.value}</span>"
}.replace("""\[SIZE=(.+?)](.*?)\[/SIZE]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
"<span style=\"font-size: ${it.groups[1]?.value}\">${it.groups[2]?.value}</span>"
}.replace(
"""\[CENTER]\[JUSTIFY]\[CENTER](.*?)\[/CENTER]\[/JUSTIFY]\[/CENTER]""".toRegex(
RegexOption.DOT_MATCHES_ALL
)
) {
"<span style=\"text-align: center;\">${it.groups[1]?.value}</span><br>"
}.replace("""\[CENTER](.*?)\[/CENTER]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
"<span style=\"text-align: center;\">${it.groups[1]?.value}</span><br>"
}.replace("""\[JUSTIFY](.*?)\[/JUSTIFY]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
"<span style=\"text-align: justify;\">${it.groups[1]?.value}</span><br>"
}.replace("""\[B](.*?)\[/B]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
"<b>${it.groups[1]?.value}</b>"
}.replace("""\[U](.*?)\[/U]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
"<u>${it.groups[1]?.value}</u>"
}.replace("""\[P](.*?)\[/P]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
"<p>${it.groups[1]?.value}</p>"
/*}.replace("""\[DISK FILE ID=n(\d+)]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
"<img src=\"$portalURL/bitrix/tools/disk/uf.php?attachedId=${it.groups[1]?.value}&action=download&ncc=1\" />"*/
}.replace("""\[IMG .+].+?\[/IMG]""".toRegex(RegexOption.DOT_MATCHES_ALL), "")
/*.replace("\n", "\n<br>")*/
Log.d("toHTML | result", result)
return result
} }