Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка длинны слова в переменной
 
 автор: DDK   (12.03.2005 в 22:44)   письмо автору
 
 

Прошу прощение, если такая тема уже была, но: есть текстовая переменная (переданная скрипту из <textarea>), и в ней надо произвести контроль на максимальную длинну слова... как это сделать ?!

   
 
 автор: evgen_17   (12.03.2005 в 22:48)   письмо автору
 
   для: DDK   (12.03.2005 в 22:44)
 

Очень просто. Вот так:

<?
strlen
($var) < || strlen($var) > Y)
?>

$var - Ваша переменная.
X - min число символов
Y - max число символов

   
 
 автор: DDK   (12.03.2005 в 22:53)   письмо автору
 
   для: evgen_17   (12.03.2005 в 22:48)
 

Эн нее... strlen() выдаёт длину всей переменной, т.е. если бы в моей переменной было бы только одно слово, то тогда бы этот вариант подошёл... Но у меня ва переменной много слов. ?! (я могу ошибаться)

   
 
 автор: evgen_17   (12.03.2005 в 22:58)   письмо автору
 
   для: DDK   (12.03.2005 в 22:53)
 

Да, Вы ошибаетесь... strlen проверяет переменную на количество символов, для неё не важно сколько в этой переменной слов. Причём в этой переменной могут быть не только буква, но и другие всевозможные символы. Так что можете смело использовать :)

   
 
 автор: DDK   (12.03.2005 в 23:03)   письмо автору
 
   для: evgen_17   (12.03.2005 в 22:58)
 

Так в том-то и фишка, что мне надо проверить длину каждого слова в переменной, а не общую длину переменной !

   
 
 автор: evgen_17   (12.03.2005 в 23:14)   письмо автору
 
   для: DDK   (12.03.2005 в 23:03)
 

А не могли бы Вы смысл данной операции объяснить? Может что придумаю...

   
 
 автор: cheops   (13.03.2005 в 01:20)   письмо автору
 
   для: DDK   (12.03.2005 в 23:03)
 

Да, действительно, каково назначение - если опасаетесь слишком длинных слов, вводимых пользователем, то можно воспользоваться функцией wordwrap

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=364

   
 
 автор: DDK   (13.03.2005 в 09:09)   письмо автору
 
   для: cheops   (13.03.2005 в 01:20)
 

Просто эта переменная потом выводится в таблицу, а если слово имеет слишком большую длину, таблица начинает "плыть"...

   
 
 автор: evgen_17   (13.03.2005 в 10:37)   письмо автору
 
   для: DDK   (13.03.2005 в 09:09)
 

Дык я что-то не понял... У Вас вся переменная выводится в таблицу или только одно слово из неё?

   
 
 автор: DDK   (13.03.2005 в 12:35)   письмо автору
 
   для: evgen_17   (13.03.2005 в 10:37)
 

Вся... ладно.. я уже сам додумался как. Буду использовать фун-ю explode() и потом проверю каждый элемент массива с помощью strlen().

   
 
 автор: DDK   (13.03.2005 в 15:34)   письмо автору
 
   для: DDK   (12.03.2005 в 22:44)
 

Спасибо всем, кто пытался понять, чего я хочу :)) Сделал в итоге всё вот так:

$check_subject = explode(" ", $subject);
    for($i=0; $i < count($check_subject); $i++)
    {
      if(strlen($check_subject[$i]) > $word_max_lenght) 
      {      
      echo("Ошибка ! Максимальная длина одного слова ($word_max_lenght) превышена !<br>");
      echo("<Meta Http-equiv=\"Refresh\" Content=\"2; Url=javascript:history.go(-1)\">");
      exit();
      }
    }

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования