Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zrobić limit znaków do przesłania do MySQL?
Forum PHP.pl > Forum > PHP
Saki
Witam, mam problem chce zrobić limit znaków w systemie komentarzy chce aby można było tylko napisać 1000 znaków.
Myślałem już nad takim rozwiązaniem:
  1. if ($com < 1000)
  2. {
  3. //dodaje komentarz
  4. }
  5. else
  6. {
  7. //nie dodaje
  8. }

tylko skąd ma php wiedzieć że 1000 to chodzi o liczby?

Może dało by rade też z INSERT INTO XX SET XX Limit 1000'"
Może mi ktoś pomóc?
symonides
Możesz skorzystać z funkcji mb_strlen. Przekazujesz do niej zmienna zawierającą treść komentarza.
1oBuZ
Skorzystaj z funkcji strlen:

  1. <?php
  2. $komentarz = 'abcdefghijk';
  3. $liczba_znakow = strlen($komentarz);
  4.  
  5. if ( $liczba_znakow > 1000 ) {
  6.  
  7. echo "Liczba znaków komentarza jest większa od 1000";
  8.  
  9. } else {
  10.  
  11. echo "Liczba znaków komentarza jest mniejsza od 1000";
  12.  
  13. }
  14.  
  15. ?>
Rid
Dobrą funkcją do tego jest funkcja substr jednakże możesz ograniczyć znaki także na samych obiektach jak i w samej bazie.
modern-web
Zdecydowanie strlen()
Saki
Dziękuje za pomoc, użyłem strlen() i działa smile.gif
thek
Dla kodowania iso NIE zadziała. Polskie znaki są liczone bowien przez strlen jako 2. Może się więc zdarzyć (i często się zdarza), że utnie "w połowie" ś lub innego polskiego znaku i masz problem. Trzeba użyć wspomnianej mb_strlen z odpowiednim kodowaniem ustawionym.
phpion
Cytat(thek @ 6.12.2010, 13:57:08 ) *
Dla kodowania iso NIE zadziała.

ISO? A nie przypadkiem UTF-8?
modern-web
Cytat
  1. <?php
  2. strlen(utf8_decode($a))
  3. ?>

The utf8_decode($a) will take care of converting the utf characters that have more than one byte in to one symbol and the strlen() will count those correctly as length 1.


winksmiley.gif utf-8
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.