(nietypowe) Wyliczanie długości tekstu w JavaScript

0

Mam pewien problem z którym nie potrafię sobie poradzić, a dotyczy on nietypowego dość wyliczania długości tekstu w polu tekstowym.
Do rzeczy:
W bazie danych mam zapisane tagi, których używać będę do tworzenia wiadomości tekstowych. Wstawiając tag do tekstu, zostanie on zastąpiony konkretna wartością, którą ten tag reprezentuje, np. wstawiając tag [TAG] w tekście wyjściowym pojawi się tak naprawdę "PRZYKŁADOWY TAG". Tagi będą mieć określone długości, np [TAG] w bazie będzie miał przypisaną długość łańcucha "przykładowy tag" a więc nie 5 znaków tylko 15. Tagi oraz ich długości pobieram z bazy w momencie wczytywania formularza.
Problem polega na tym, że nie bardzo wiem jak w trakcie wpisywania treści wiadomości wyliczać po każdym naciśnięciu klawisza RZECZYWISTĄ długość wiadomości, a więc taką, gdzie wstawione tagi będą już zastąpione tekstowymi odpowiednikami. Dodatkowa trudność jest taka, że tagi można będzie albo wybierać z combo albo wpisywać bezpośrednio z klawiatury.
Proszę o jakieś propozycje rozwiązania tego problemu. Za każdą pomoc z góry dziękuję.

0

Jeżeli tagi mają taką właściwość, że są umieszczone w znakach [ i ] to proponuję:

  • przeliczyć sobie mapę z tagów na długość wartości pod tymi tagami: { 'TAG': 25, 'TAG2': 17, ... }
  • w momencie naciśnięcia ] sprawdzać, czy był wpisany tag i jeżeli był to do długości pola dodać różnicę, między długością wpisanego tagu, a wartością dla niego
    ( preprocessing: w mapie można od razu wyliczyć różnicę, między długością tagu, a długością wartości :) )
    ( wartości mogą być ujemne, bo tag WZORZEC może mieć wartość 'to' i tym samym nie wydłuża, ale skróca się nasza wiadomość tekstowa :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1