diff --git a/app/src/main/java/ru/sweetbread/unn/ui/composes/Blogpost.kt b/app/src/main/java/ru/sweetbread/unn/ui/composes/Blogpost.kt
index f58c8db..0d6ca49 100644
--- a/app/src/main/java/ru/sweetbread/unn/ui/composes/Blogpost.kt
+++ b/app/src/main/java/ru/sweetbread/unn/ui/composes/Blogpost.kt
@@ -219,13 +219,39 @@ private fun toHtml(
processor: TextProcessor,
post: Post
): String {
- val html = processor.process(post.content)
- return html.replace("""\[URL=(.+)](.+)\[/URL]""".toRegex()) {
- Log.d("replace", it.groups.toString())
- "${it.groups[2]?.value}"
- }.replace("""(\[FONT=.+]|\[CENTER])(.+)(\[/FONT]|\[/CENTER])""".toRegex()) {
- it.groups[2]?.value.toString()
- }.replace("""\[IMG .+].+\[/IMG]""".toRegex(), "")
+ Log.d("toHTML | original", post.content)
+
+ val result =
+ post.content.replace("""\[URL=(.+?)](.+?)\[/URL]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
+ "${it.groups[2]?.value}"
+ }.replace("""\[FONT=(.+?)](.*?)\[/FONT]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
+ "${it.groups[2]?.value}"
+ }.replace("""\[SIZE=(.+?)](.*?)\[/SIZE]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
+ "${it.groups[2]?.value}"
+ }.replace(
+ """\[CENTER]\[JUSTIFY]\[CENTER](.*?)\[/CENTER]\[/JUSTIFY]\[/CENTER]""".toRegex(
+ RegexOption.DOT_MATCHES_ALL
+ )
+ ) {
+ "${it.groups[1]?.value}
"
+ }.replace("""\[CENTER](.*?)\[/CENTER]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
+ "${it.groups[1]?.value}
"
+ }.replace("""\[JUSTIFY](.*?)\[/JUSTIFY]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
+ "${it.groups[1]?.value}
"
+ }.replace("""\[B](.*?)\[/B]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
+ "${it.groups[1]?.value}"
+ }.replace("""\[U](.*?)\[/U]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
+ "${it.groups[1]?.value}"
+ }.replace("""\[P](.*?)\[/P]""".toRegex(RegexOption.DOT_MATCHES_ALL)) {
+ "
${it.groups[1]?.value}
" + /*}.replace("""\[DISK FILE ID=n(\d+)]""".toRegex(RegexOption.DOT_MATCHES_ALL)) { + "