Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Parsowanie i skracanie, Jak skrócić widoczną dla użytkownika część kodu HTML do n znaków?
qrzysztof
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

Ostrzeżenie: (0%)
-----


Mam parser, który zamienia mi za pomocą preg_replace znaczniki [ b ][ /b ] na
  1. <span class="bold">\1</span>
oraz [ i ][ /i ] na
  1. <span class="italic">\1</span>
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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 08:52