It must be a pain to make a text box with the ability to add bold, italic, heading, etc. you know? All the bold text, italics, and headings would need to be saved in a database column to be retrieved later in their correct positions.

I don’t know, I am doing internship learning C# ASP (started 2 months ago), and just got a “Shower Thought” while making an edit post function.

  • bennel@lemmy.world
    link
    fedilink
    arrow-up
    13
    ·
    edit-2
    5 months ago

    You’d save it to the database in the same field as the rest of the text. You don’t store the positions or anything like that - you’d store the text with HTML and have the front end render it as expected.

    For instance, the database could have the following text:

    Hello <strong>World</strong>
    

    And the front end just renders HTML.

    Alternatively, you could store Markdown syntax if you’re hesitant to allow HTML.

    EDIT: as always, if you store raw HTML, don’t forget to sanitize it.

    • lemmy_in@lemm.ee
      link
      fedilink
      arrow-up
      10
      ·
      5 months ago

      So long as you have robust data sanitization on the backend to prevent XSS and HTML injection attacks…

      If you can get away with just using Markdown, you should definitely use that instead of full HTML.

      • bennel@lemmy.world
        link
        fedilink
        arrow-up
        5
        ·
        5 months ago

        Of course not lol. The CMS I usually use stores it as HTML in the database, so I have a go-to HTML sanitization plugin with a tag whitelist. I wish it used markdown or something similar under the hood instead, but it is what it is.