oraz [ i ][ /i ] na
w danych pobieranych z bazy.
Otrzymany w ten sposób kod jest gotowy do wyświetlania na stronie. A właściwie prawie gotowy bo chciałbym go skrócić do 50 znaków (zachowując formatowanie). Skrócić do 50 znaków oczywiście część widoczną w przeglądarce. Da się to jakoś sprytnie zrobić?
Ja to widzę tak: rozbić łańcuch za pomocą znaczników (każdy znacznik to miejsce podziału) i dodawać do siebie długość tych kawałków dopóki nie przekroczy 50. Jeśli przekroczy 50 to ostatni kawałek przyciąć, żeby całość była równa 50 i ewentualnie zamknąć znacznik jeśli ostatni brany pod uwagę kawałek był z wnętrza znacznika. Operacja byłaby mniej kosztowna przed parsowaniem, potem można tak skrócone wyrażenie sparsować.
Może ktoś będzie miał lepszy pomysł.
Wadę tego rozwiązania widzę jedną. O ile parser radził sobie z niedomkniętymi znacznikami (czyli ich nie parsował) to już ta metoda skracania sobie z nimi nie poradzi. Wystarczy, że ktoś źle domknie znacznik i już wyświetli więcej niż 50 znaków.