
26.08.2009, 18:23
|
|
Динозавр
Регистрация: 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..
|
|
|