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
|