Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: strlen - źle liczy?
Forum PHP.pl > Forum > PHP
deha21
Zrobiłem sobie skrypt który wskazuje że jeśli ilość znaków jest większa niż 250 to nie wykonuje się dalszy skrypt. Problem jest taki, że dodałem tekst na 245 znaków, a mimo to pokazuje mi, że tekst jest za długi.
  1. if (strlen(trim($_POST['tekst']))>250) { echo "Opis ogłoszenia jest zbyt długi"; } else { // coś tam się robi }

Strlen jakoś inaczej liczy znaki? Bo javascript i zewnętrzny edytor naliczają mi 245 znaków. Jak to naprawić?
r4xz
podaj dane wejściowe dla których przekłamuje wyniki

ew. http://www.php.net/manual/en/function.mb-strlen.php
deha21
"Stan zarówno wizualny jak i techniczny bardzo dobry. Użytkowany rekreacyjnie, tylko w ciepłe dni. Motor w pełni gotowy do jazdy, pali na dotyk. Silnik chodzi równo i nie gaśnie. Motocykl jest ubezpieczony i posiada ważny przegląd do przyszłego lata." - ten tekst np.

Ale zastosowałem mb_strlen(trim($_POST['tekst']),"UTF8") i problem jakby zniknął. Dobrze tego użyłem?
#luq
Ogólnie chodzi o to że powinno się używać funkcji z rodziny mb_xxx jeśli dane wejściowe to znaki także spoza tablicy ASCI.
http://gynvael.coldwind.pl/?id=360
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.