Funkcja ma być prosta, ale nie prostacka

Jest uniwersalna byś mógł tam kłaść co chcesz za znaczki. strBefore to tag otwierający, strAfter to tag zamykający. Poza tym jest to długie bo działa z zaznaczonym tekstem.Jeśli myszką zaznaczysz jakiś kawałek tekstu, to znaczniki obejmą tylko ten tekst, a nie jak wiele skryptów od tego krótszych, wrzucą tylko tagi na koniec

No i stąd mogę potem robić takie coś jak osobny guzik od podkreślenia, osobny od pogrubienia i osobny od kursywy.
EdiT: Dodam, że to i tak ciut obcięta wersja, bo w pełniejszej postaci, dłuższej o może 10 linijek, wrzuciłem także tworzenie list numerowanych i nienumerowanych, gdzie automatycznie tworzył sobie kolejne podpunkty listy poprzez wychwycenie znaku przejścia do nowej linii.