Jak nie pozwolić na wpisywanie długich ciągów znaków bez spacji?

REKLAMA:
Jeśli chcesz się nauczyć tworzyć strony internetowe, a nie masz o tym pojęcia wejdź na bezpłatny blog www.VideoWebmaster.pl

Jeśli już potrafisz tworzyć strony internetowe, wejdź na blog z poradami dla średnio-zaawansowanych webmasterów www.PomocnikWebmastera.pl

Jeśli utworzyłeś jakiś prosty system wpisywania komentarzy na swojej stronie, to być może cierpisz na to, że jakiś pajac wpisuje długi ciąg znaków bez spacji (np. kilkaset liter a) przez co strona się rozciąga i wygląda nieestetycznie. Opera ma na szczęście taki przycisk Dopasuj do szerokości dzięki czemu strona WWW nie jest szersza niż okno przeglądarki. Jednak nie każdy używa Opery, poza tym nie każdy wie o istnieniu takiej opcji. W PHP można za pomocą kilku linijek kodu napisać funkcję, która sprawdza, czy wprowadzony przez użytkownika ciąg znaków nie jest zbyt długi:

$wpis = strip_tags2($wpis, "<b><i><u><em><strong>");
$R=explode(" ",$wpis);

$okx=1;
for ($a=0; $a<count($R); $a++)
{
if (strlen($R[$a])>20) $okx=0;
}

Pierwsza linijka usuwa z wpisu niebezpieczne znaczniki HTML (w komentarzach do postu poza znacznikami B I U nic więcej nie trzeba). Druga linijka dzieli ciąg znaków na tablicę. Każdy ciąg znaków od spacji do spacji znajdzie się w kolejnym indeksie tablicy. Pętla for sprawdza, czy któryś z elementów tablicy nie jest zbyt długi (raczej nie ma w języku polskim wyrazów dłuższych niż 20 znakowe, zresztą ten limit można spokojnie zwiększyć do np. 40 znaków) i jeśli choć jeden wyraz będzie zbyt długi to zmienna okx będzie miała wartość 0 co oznacza, że dany wpis nie ma być dodany.

wstecz