Prawie każdy język ma wbudowaną funkcję, która może rozdzielać łańcuch w danej pozycji. Jednak gdy tylko w tagu znajdą się tagi html, wbudowana funkcja nie będzie działać poprawnie.
Twoim zadaniem jest napisanie programu lub funkcji, która dzieli ciąg na n-ty znak, ale nie liczy znaków tagów HTML i wyświetli prawidłowy HTML. Program musi zachować formatowanie. Miejsca poza znacznikami html mogą być liczone lub nie być zliczane, jak chcesz, ale muszą zostać zachowane. Możesz jednak zamienić wiele kolejnych spacji w jedną spację.
Wejście:
- ciąg
- pozycja do podziału w (na podstawie 0)
Można je traktować jako argumenty programu lub funkcji lub można je odczytać ze standardowego wejścia.
Dane wyjściowe: podzielony ciąg znaków, który można zwrócić lub zapisać na standardowym wyjściu.
Dane wejściowe będą poprawne w formacie HTML, nie będą zawierać żadnych elementów (takich jak ). Tagi otwierane po limicie znaków należy pominąć w danych wyjściowych (patrz ostatni przykład).
Przykład:
Wejście:, <i>test</i>3
Wyjście:<i>tes</i>
Wejście:, <strong><i>more</i> <span style="color: red">complicated</span></strong>7
Wyjście:<strong><i>more</i> <span style="color: red">co</span></strong>
Wejście:, no html2
Wyjście:no
Wejście:, <b>no</b> <i>html root</i>5
Wyjście:<b>no</b> <i>ht</i>
Wejście:, <b>no img</b><img src="test.png" />more text6
Wyjście:<b>no img</b>
Możesz użyć dowolnego języka i standardowej biblioteki danego języka. To jest kod golfowy, wygrywa najkrótszy program. Baw się dobrze!
<i >zamiast <>, więc nie ( <lub też >nie będzie).
<i>ab</i><b>cd</b> 1?
<i>a</i>?
<i>a</i><b></b>(Co ma sens, jeśli weźmiesz pod uwagę, że bmoże to być divlub img.)