I feel like whenever I see the ampersand on this website, it’s followed with “amp;”. I’ve noticed it other places on the internet also. Why does this happen? Is it some programming thing?

Just for a test: &

  • tunawasherepoo@iusearchlinux.fyi
    link
    fedilink
    English
    arrow-up
    13
    ·
    edit-2
    1 year ago

    There’s not enough symbols on my keyboard, so let’s invent a code so we can write other symbols

    1. lets say & means start of code
    2. and say ; means end of code
    3. Between the start and end is the code

    Now let’s make some real symbols

    • ¢ can be ¢
    • © can be ©
    • ÷ can be ÷

    I want to tell other people how to use our new code, but if I tell them to “just write ÷” it’ll turn my message into “just write ÷” !! So how can we fix this?

    What if we make & its own code?

    • & —> &
    • ÷ —> ÷ ???

    Yes! That’ll work :)

    This is how & came to be, and it’s specifically used in HTML as a way to write those symbols above (and escape other a few other symbols for similar reasons we did with &)

    As for why & shows up as &, there are 2 main places I can see this happening:

    1. The editor you use to write it automatically converts an & —> &. But the user typed in & (making it &). I think this is most likely. I’m guessing the title of posts automatically do the conversion, but the post body and comments do not because it uses a raw markdown editor
    2. In some contexts the & specifically doesn’t get converted? like how you can write `&` to get & as opposed to seeing
    • tunawasherepoo@iusearchlinux.fyi
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      1 year ago

      Lol, ok there might be a little more than what meets the eye, cuz when i typed `&` it converted it to & !!

      test: &

      
      

      new challenge- try to get it to render a & instead of & inside of `` (or ``` ``` for bulk testing)

      tried:

      • `&`
      • `&`
      • `&`
      • `&;`
      • `&<invisible character>`
      • `&divide;` still becomes `÷` weirdly enough