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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Подсчет количества символов в каждом слове строки

Сообщения:  [1-10]   [11-13] 

 
 автор: votush   (22.01.2012 в 15:17)   письмо автору
 
   для: sega_z   (10.01.2012 в 23:17)
 

Если я правильно понял Вашу задачу, я решил ее таким образом


<form method="post">
<input text="text" name="msg" value="<?php echo $_POST['msg'];?>">
<input type="submit" value="ok">
</form>
<?php
$f=explode(" ",$_POST['msg']);
$total=0;
for ($i=0;$i<count($f);$i++)
{
$subtotal=strlen($f[$i]);
$total=$total+$subtotal;
}
if ($total>7)
{
echo 'nekorrektnyu vod';
}
else
{
exit();
}
?>

  Ответить  
 
 автор: Sfinks   (11.01.2012 в 00:52)   письмо автору
 
   для: sega_z   (11.01.2012 в 00:08)
 

А, ну раз все что угодно, то все нормально. Просто вы сначала сказали "только пробелы", потом "точки с запятыми", потом про цифры, вот я и подумал что нужно еще и цифры исключить. А так все нормально. Мой последний вариант исключает из слов точки, запятые и пробелы. Все остальное может быть.

  Ответить  
 
 автор: sega_z   (11.01.2012 в 00:08)   письмо автору
 
   для: Sfinks   (11.01.2012 в 00:02)
 

Да там всё что угодно может быть...

Ладно, воспользуюсь кодом с циклом, т.к нагрузка не большая, слов может быть не более 10. Тем более этому коду по барабану, что содержится в слове.

Всем участникам огромное спасибо!!!

  Ответить  
 
 автор: Sfinks   (11.01.2012 в 00:02)   письмо автору
 
   для: sega_z   (10.01.2012 в 23:57)
 

А не должно быть? Вы уж сразу перечислите все условия? Тогда уж проще перечислить что может быть в словах.... Только буквы? Только русские или только латинские или любые?

  Ответить  
 
 автор: sega_z   (10.01.2012 в 23:57)   письмо автору
 
   для: Sfinks   (10.01.2012 в 23:52)
 

А если в слове будут цифры?

  Ответить  
 
 автор: Sfinks   (10.01.2012 в 23:52)   письмо автору
 
   для: sega_z   (10.01.2012 в 23:32)
 

Еще можно через РВ:
<?php
  $s 
"КороткоеСлово СуперДлинноеСловоЯвноДлиннееШестидесятиЗнаковХотяДляТогоЧтобыЕгоТакимСделатьНужноСильноПостараться ЕщеКороче";
  
$pattern "#(\A|\s|\.|,)[^\Z\s\.,]{61,}#su";
  if(
preg_match($pattern,$s)) die("Есть слова длиннее 60 знаков");
  else echo 
"OK";
?>
Это если кодировка utf-8. Если win-1251, то в $pattern вместо #su надо написать #s
____
P.S. Поправил сразу для точек и запятых
P.P.S. Рекомендую именно этот вариант, т.к. циклы довольно медленны.

  Ответить  
 
 автор: sega_z   (10.01.2012 в 23:49)   письмо автору
 
   для: Sfinks   (10.01.2012 в 23:41)
 

Да, действительно, то что надо!

Но позвольте спросить, как добавить в разделители слов, помимо пробелов: запятые и точки?

  Ответить  
 
 автор: Sfinks   (10.01.2012 в 23:41)   письмо автору
 
   для: sega_z   (10.01.2012 в 23:32)
 

<?php  
  $string 
"Какая то строка с кучей слов";
  
$str explode(" "$string);
  
$error false
  
foreach($str as $value){ 
    if(
strlen($value) > 60){
      
$error true;
      break;
    }
  }
  if(
$error) die("Есть слова длиннее 60 знаков");
?>

  Ответить  
 
 автор: Slo_Nik   (10.01.2012 в 23:33)   письмо автору
 
   для: sega_z   (10.01.2012 в 23:32)
 

попробуйте тот код, что я дал, должно быть всё нормльно

  Ответить  
 
 автор: sega_z   (10.01.2012 в 23:32)   письмо автору
 
   для: Sfinks   (10.01.2012 в 23:29)
 

В том то и дело, что нужна длина каждого слова, отдельно.

  Ответить  

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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