Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ograniczenie ilości znaków
Forum PHP.pl > Forum > PHP
quality
Witam.
Jak w jakiś latwy sposób ograniczyć ilość znaków w słowie.
Tzn chodzi mi o to zeby po wpisaniu komentarza jedno ze slow nie mialo dlugosci wiekszej niz 50 znaków, zeby nie rozwalilo tabeli.

Znacie jakis prosty sposob czy trzeba rozbijac caly tekst po spacji i sprawdzanie kazdego slowa z osobna.
sticker
Generalnie należy sprawdzić każdy wyraz, nie znam innego sposobu chyba że jakas heurystyka ale w phpie bym raczej nie implementował takich rozwiązań. Tu masz fajny tutorial jak pozniej te zbyt długie wyrazy dzielić http://42.pl/tex/prog/hyph.html
ultra_18
CODE

<?php

$text = $_POST['text'];

$sprawdz = explode(' ',$text);

echo 'Słowa które mają więcej niż 50 znaków<ul><br>';
for ($i=0;$i<count($sprawdz);$i++){

if (strlen($sprawdz[$i]) > 50)
{
echo "<li>$sprawdz[$i]</li>";
}
}
echo '</ul>';
?>

amadeo
  1. <?php
  2. $tekst = $_POST['tekst'];
  3. //akcja kodu
  4. if(strlen($tekst) > 50)
  5. {
  6. print('Tekst jest zbyt długi');
  7. }
  8. else
  9. {
  10. //dalsza część kodu
  11. }
  12. ?>

Jeżeli o to Ci chodziło, kod jest poprawny.
smile.gif
Pozdrowienia i powodzenia w pisaniu. smile.gif
Cytat(ultra_18 @ 17.11.2008, 16:39:12 ) *
CODE

<?php

$text = $_POST['text'];

$sprawdz = explode(' ',$text);

echo 'Słowa które mają więcej niż 50 znaków<ul><br>';
for ($i=0;$i<count($sprawdz);$i++){

if (strlen($sprawdz[$i]) > 50)
{
echo "<li>$sprawdz[$i]</li>";
}
}
echo '</ul>';
?>


Co do tego kodu, jest on zbyt skomplikowany i mało szybki smile.gif
Myślę że wystarczy definicja zmiennej, pętla if i funkcja strlen(). smile.gif
Aha i zamiast ['CODEBOX'], używaj ['PHP'] (kasuj ')
ultra_18
Cytat(amadeo @ 17.11.2008, 18:37:00 ) *
Co do tego kodu, jest on zbyt skomplikowany i mało szybki smile.gif
Myślę że wystarczy definicja zmiennej, pętla if i funkcja strlen(). smile.gif
Aha i zamiast ['CODEBOX'], używaj ['PHP'] (kasuj ')



ta fajnie ! Tylko że kolega zakładajacy ten temat piszę z pytaniem jak ograniczyć liczbę znaków w słowie a nie w całym tekście do tego napisałem ten skrypt, bo jeżeli chce sie ograniczyć liczbę znaków w całym polu to wystarczy do pola wpisać maxlength="50" ;].

I jeżeli chodzi o szybkość skryptu to print jest "mniej szybszy" od echo dlatego echo jest zdecydowanie cześciej wybierane.

A co do rady żeby używać [PHP] zamiast codebox to dziekuje przyda mi sie .
bregovic
wordwrap" title="Zobacz w manualu PHP" target="_manual albo (z komentarzy):
  1. <?php
  2. function one_wordwrap($string, $width){
  3.  $s = explode(' ', $string);
  4.  foreach ($s as $k=>$v) {
  5.    if (strlen($v) > $width) $v = wordwrap($v, $width, ' ', true);
  6.      $new_string.="$v ";
  7.  }
  8.  return $new_string;
  9. }
  10. ?>
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.