Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dlugie teksty tego typu:
Forum PHP.pl > Forum > Przedszkole
yavaho
Dlaczego tekst tego typu:
"))))))))))))))) ))))))))))))))))) )))))))))))))) )))))))))))))) )))))))))))))) )))))))))))) )))))))))))))) )))))))))))))"
lub:
"((((((((((((( (((((((((((((((((((((((( (((((((( ((((((((((((((((((((( ((((((((((((((((((( ((((((((((((((((( ((((((((((((((("
nawet gdy jest oddzielony spacjami nie zostaje przelamany do nowej linii tylko rozwala strone?
Czasem w komenarzach na stronie ktos wpisze taki tekst i jest problem. Nie chce tego tekstu automatycznie przycinac, wystarczy ze wstawie spacje jezeli wyraz przekracza dozwoloną długość.
fiszol
Witam,

Niewiem czemu tak jest ale do głowy przychodzą mi 3 rozwiązania

1. Zliczaj długość wpisu i przełamuj za pomocą \n przed zapisem,
2. Zliczaj przy wczytywaniu i przełamuj za pomocą <br />
3. Wczytuj do komórki o określonych rozmiarach, w tedy nic nie powinno się rozwalić.

cheers,
fiszol
SET
ja to robię tak:

obliczam długość każdego wyrazu -> jeżeli przekracza załóżmy 60 znaków to nieprzyjmuję komentarza
  1. <?php
  2. $tresc = $_POST['tresc'];
  3.  $tresc = trim($tresc);
  4. // w ten sposob przyjmuje tresc komentarza
  5. ?>


reszta znajduje się w temacie "edycja komentarza" -> tuż pod Twoim tematem
SET
to jest bardzo ciekawa funkcja
popbart
Najlepiej rozbij ciąg znaków funkcją explode a następnie za pomocą pętli sprawdź każdy wyraz i jak przekracza np. 20 znaków dodaj za pomocą worwrap spację czy <br>
yavaho
Faktycznie to jest trudny przypadek. Jedynie by wypadalo wstawiac <br /> i wymuszac lamanie tekstu. Mozna tez dzielic dlugie wyrazy za pomoca funkcji wordwrap " title="Zobacz w manualu PHP" target="_manual ale wstawiajac dwa znaki np "` " bo sama spacja nie rozwiazuje problemu.
Narazie rozwiazalem to poprzez wstawienie do stylow "overflow:hidden;" i wszystkie te nawiasy, ktore wychodza poza obszar sa niewidoczne.

Aaa jeszcze jedno. To forum mozna tez rozjechac takimi nawiasami smile.gif Moze by ktos pomyslal nad lepszym rozwiazaniem niz moje?
scanner
a moze po prostu dodać funkcję skracającą ciągi o jednakowych znakach do 3 powtórzeń?
Np: )))))))))) -> compressString() -> )))
Był odpowiedni regexp na forum niedawno.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.