Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: lamanie 'dlugich' wyrazow
Forum PHP.pl > Forum > PHP
wojtek
Witam,

Mam pewien problem. Otoz robie skrypt do komentowania roznych materialow na stronie, komentarze moze dodawac kazdy - a co za tym idzie trzeba oczywiscie sie jakos zabezpieczyc przed uzytkownikami, ktorzy moga namieszac. Zrobilem usuwanie tagow html, ale z jednym nie potrafie sobie poradzic. Otoz, jesli ktos wpisze w pole tekstowe:

eioiru389ru3w8ruwerioweuroiwerupoiweurpweioruwpqeoruwepriou
(jeden dlugi ciag znakow - bez spacji) to wtedy tabelka, w ktorej wyswietlaja sie komentarze rozszerza sie - i psuje wyglad calej strony.

Jak mozna to ominać? Zrobic jakos tak zeby skrypt lamal takie ciagi znakow
Mac
Cytat
Witam,

Mam pewien problem. Otoz robie skrypt do komentowania roznych materialow na stronie, komentarze moze dodawac kazdy - a co za tym idzie trzeba oczywiscie sie jakos zabezpieczyc przed uzytkownikami, ktorzy moga namieszac. Zrobilem usuwanie tagow html, ale z jednym nie potrafie sobie poradzic. Otoz, jesli ktos wpisze w pole tekstowe:

eioiru389ru3w8ruwerioweuroiwerupoiweurpweioruwpqeoruwepriou
(jeden dlugi ciag znakow - bez spacji) to wtedy tabelka, w ktorej wyswietlaja sie komentarze rozszerza sie - i psuje wyglad calej strony.

Jak mozna to ominać? Zrobic jakos tak zeby skrypt lamal takie ciagi znakow

Ta funkcja służy do "obcinania" zadługich ciągów znaków:
Kod
wordwrap()

smile.gif
olus
string wordwrap ( string str [, int width [, string break [, int cut]]])


Kod
<?

$text = "A very long woooooooooooord.";

$newtext = wordwrap( $text, 8, "n", 1);



echo "$newtextn";

?>


This example would display:

A very
long
wooooooo
ooooord.


Cytat
CZYTAJCIE CZASAMI MANULA angrysmiley.gif


osobiście polecam manuala w *.chm biggrin.gif

http://www.php.net/distributions/manual/ph...p_manual_pl.chm

BAWCIE SIĘ DOBRZE
GeoS
Sprawdz moja wymeczona funkcje 8O Moze nie jest doskonala (chociaz moze i jest), ale dziala jak trzeba:

Kod
function textwrap($text){

    $wrap=81;

    $pocz=0;

    $len = strlen($text);

    if ($len > $wrap)    {

            $h =  '';

  $x = 0;



  while($pocz<$len)    {

     $v = substr($text,$pocz,$wrap);

     if(ereg(chr(10),$v))    {

    while(ereg(chr(10),$v)==1)    {

        $plc = strpos($v,chr(10))+1;

        $h .= substr($text,$pocz,$plc-2).'<BR>';

        $pocz = $pocz+$plc;

        $v = substr($text,$pocz,$wrap);

    }

        $h .= substr($text,$pocz,$wrap).'<BR>';

        $pocz = $pocz+$wrap;

     }    else    {

    $h .= substr($text,$pocz,$wrap).'<BR>';

    $pocz = $pocz+$wrap;

     }

  }

    }    else    {

  $h = $text;

    }

    return $h;

}


Zmienna $wrap definiuje po ilu znakach ma nastepowac "zawijka" smile.gif

Ona miala mi sluzyc do zawijania zadlugich stringow, a nie do formatowania tekstu, wiec musisz ja sobie troche przerobic smile.gif

PS Nie zauwazylem odpowiedzi mojego "przedmowcy" sad.gif Jego rozwiazanie wydaje sie DUZO LEPSZE z malym "ale": "n" zamienilbym na "<BR>" smile.gif
castor
Cytat
Jego rozwiazanie wydaje sie DUZO LEPSZE z malym "ale": "n" zamienilbym na "<BR>"


a ja nie :wink:

zachowal bym n a przed wyswietleniem
Kod
nl2br()


po co mi w tekscie HTML TAGI
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.