:::: MENU ::::

RegExp likwidujący zawieszki

This one is in english since related to polish texts only 🙂

Zawieszki to pojedyncze znaki zostawione na końcu linijki – takie jak i, z, w, itd. Ze względu na Polską Normę składania tekstu, zostawianie takich znaków na końcu wiersza jest błędem.

Chodzi o to, żeby mieć jednego regexpa, który usuwa zawieszki w zwykłym tekście, ale i w htmlu, w taki sposób, żeby nie patrzył w tagi.

(?(?=.*[<>].*)\s+([ziowauZIOWAU])\s+(?=[^>]*<)|\s+([ziowauZIOWAU])\s+)

Tutaj ciekawym trikiem jest wykorzystanie ifa i sprawdzenie czy tekst przypomina HTML czy nie.

Co więcej założeniem tego regexpa jest to, żeby przypadkiem nie mieszał w tagach html, tylko w samym tekście. Na przykład, żeby nie zamienił <span class=”elem i elem2″> na <span class=”elem i&nbsp;elem2″>

Można się tym rozwiązaniem pobawić tutaj.