Показать сообщение отдельно

  #8  
Старый 26.08.2009, 18:23
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

Вот мой вариант этой задачки:

PHP код:
<?php 
function countspec($stroka) { 
   
$count=0;  
   for(
$i=0;$i<strlen($stroka);$i++) {  
       if(!
preg_match("#[\sa-zа-я0-9]#i",$stroka{$i})) $count++;
   } 
   Echo (
'Спец символов:'.$count);
}

countspec("Вася Пушкин Loloman !@#$%^&*()-+№");
?>
Пробел не спец символ по идее, его просто надо игнорировать, ну и большие буквы если просто модификатор i ставим и всё

Но это опять же не учитывая возможных кириллических кодировок и прочих уникодов

PS: Но самый красивый вариан конечно у d_x двумя постами выше, но с моей регуляркой + его ^ в начале, т.е. так:

PHP код:
<?php 
function countspec($stroka
{  
  echo 
'Спецсимволов: '.preg_match_all('/[^\sa-zа-я0-9]/i',$stroka,$m); 


countspec("Вася Пушкин Loloman !@#$%^&*()-+№");
?>

Последний раз редактировалось Pashkela; 26.08.2009 в 18:45..
 
Ответить с цитированием