Preventing line breaks in <code> elements

(alexwlchan.net)

9 points | by surprisetalk 2 hours ago ago

13 comments

  • danlitt 2 hours ago

    You can't parse [X]HTML with regex. Because HTML can't be parsed by regex. Regex is not a tool that can be used to correctly parse HTML.

    • layer8 20 minutes ago

      Some commenters are missing that this is a reference to https://stackoverflow.com/a/1732454.

      • pwdisswordfishq 14 minutes ago

        Good ol' appeal to emotion devoid of technical argument.

    • tyho 25 minutes ago

      You can absolutely parse HTML with regex, so long as the document is finite in length. Every finite language is regular, hence can be parsed with regex's.

      • gpvos 19 minutes ago

        Do a web search for the parent of your comment, read the Stackoverflow answer. It's a classic. Learn about Zalgo and Tony the pony, he comes.

    • prmoustache 14 minutes ago

      I do not count substitution as "parsing"

    • rokkamokka an hour ago

      You can parse a subset of it though, like if you're in control of the html yourself and avoid certain structures

    • zarzavat an hour ago

      Parsing HTML with a regex is never a good option, but it's sometimes the only option.

      • pkal an hour ago

        In the example from the article it certainly is an option. In Python you could either use a "soup" library or you could play around with a tool like https://www.w3.org/Tools/HTML-XML-utils/man1/hxpipe.html.

        The more fundamental question for me is why the author didn't decide to make make code blocks non-breaking by default, or just add the class annotations when he writes the HTML?

    • timedude 30 minutes ago

      What do you mean you can't. I do it all the time

    • matheusmoreira an hour ago

      Tony the pony, he comes.

  • pwdisswordfishq 15 minutes ago

    Why even bother with the CSS class? Just apply text-wrap: nowrap; to all <code> elements and dispense with the fragile regex parsing.