Мне нужно из текста формы пост оставить только буквы, т.е. убрать ВСЕ символы типа <font color=red>привет</font> Я тут создал форму PHP: <?php for ($i = 0; $i <= strlen($_POST[login]); $i++) { $b = substr($_POST[login], $i, 1); if(($b==q) || ($b==w) || ($b==e) || ($b==r) || ($b==t) || ($b==y) || ($b==u) || ($b==i) || ($b==o) || ($b==p) || ($b==a) || ($b==s) || ($b==d) || ($b==f) || ($b==g) || ($b==h) || ($b==j) || ($b==k) || ($b==l) || ($b==z) || ($b==x) || ($b==c) || ($b==v) || ($b==b) || ($b==n) || ($b==m) || ($b==" ") || ($b==й) || ($b==ц) || ($b==у) || ($b==к) || ($b==е) || ($b==н) || ($b==г) || ($b==ш) || ($b==щ) || ($b==з) || ($b==х) || ($b==ъ) || ($b==ф) || ($b==ы) || ($b==в) || ($b==а) || ($b==п) || ($b==р) || ($b==о) || ($b==л) || ($b==д) || ($b==ж) || ($b==э) || ($b==я) || ($b==ч) || ($b==с) || ($b==м) || ($b==и) || ($b==т) || ($b==ь) || ($b==б) || ($b==ю)){ echo $b; } } ?> Весь сайт в режиме UTF-8, текст передается формой <form method='post'>Логин: <input name='login'>...<input type='submit' value="Зарегистрироваться"></form> все английские буквы и пробелы остаются, символы и русские буквы нет, а мне надо чтобы русские буквы тоже оставались, не подскажите в чем я ошибся ?
strip_tags оставляет символы, да он удалит <?php echo "123"; ?> Но не удалит @,^," и тд. А админам скажу: у меня есть опыт PHP и не маленький, зачем меня переводить в PHP для новичков
извините у вас не меленький опыт китайского программирования судя по-вашему условию. когда я писал про многокнопье, я даже не думал что могут быть такие условия.
вот что выдумал PHP: <?php $letters=array_merge(range('A', 'Z'), range('a', 'z'), range('а', 'я'), range('А', 'Я')); $sometext="Здесь est' цифры 0-9, запятые, спецсимволы !:*;?%(№;"; $clean=''; for($i=0; $i<strlen($sometext); $i++) { if(in_array($sometext[$i], $letters)) { $clean.=$sometext[$i]; } } echo $clean; ?> есть подозрения на то, что в range('а', 'я') входят не все русские буквы :О
krow7 Спасибо, скрипт работает, но... У меня буквы русские и английские остаются, но русский вопросиками отображаются, что то с кодировкой.
Я на сайте написал код для проверки... PHP: <?php $str = "English Русский 123 !@#$%^&*()_"; echo mb_ereg_replace("[^a-zA-Zа-яА-ЯёЁ]", '', $str ); ?> Результат выполнения: HTML: EnglishР?сский Задается вопрос: куда делась буква у? Но это уже лучше чем когда все русские буквы пропадают)
я бы всё же вначале прошёлся stip_tags, а затем регуляркой tommyangelo. у preg_replace есть ключ для работы с утф-8 символами u - нужно просто добавить его к регулярке и сохранить документ в утф-8 кодировке.