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

Форум Регулярные Выражения

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

 

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

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

тема: Отсутствие поддержки русских символов в регулярках?

Сообщения:  [1-6] 

 
 автор: deimand   (01.03.2012 в 14:07)   письмо автору
 
   для: cheops   (28.02.2012 в 11:44)
 

Только руки дошли проверить - работает, спасибо, не знал этого ньюанса.

  Ответить  
 
 автор: cheops   (28.02.2012 в 11:44)   письмо автору
 
   для: deimand   (28.02.2012 в 00:52)
 

>С кодировками все нормально, все данные и скрипты в utf-8?
Тогда понятно, почему у вас диапазоны не работают, добавьте спецификатор u.

  Ответить  
 
 автор: Sfinks   (28.02.2012 в 09:46)   письмо автору
 
   для: deimand   (28.02.2012 в 00:52)
 

А какая версия пыха? У меня дома 5.2.17, на хостинге 5.3.8. Везде вариант /[а-яё]+/i прекрасно работает!

  Ответить  
 
 автор: deimand   (28.02.2012 в 00:52)   письмо автору
 
   для: cheops   (28.02.2012 в 00:10)
 

Вот и я целый день голову ломаю. Сначала думал что домашний компьютер подводит, попробовал на хостинге - то же самое.

Использую для проверки текста на отсутствие запрещенных символов. Точнее на присутствие только разрешенных. И ни как не хочет именно с русскими символами работать. С кодировками все нормально, все данные и скрипты в utf-8? а русский диапазон приходится вручную прописывать. Это же спятить можно )

Вот это работает на ура. Вырезаю алфавит и заменяю на диапазон - форму заполнить не представляется возможным.

<?php if(!preg_match("/^([абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ-\w\d\s\.,]+)$/isU"$title)) 
echo 
'Строка содержит запрещенные для ввода символы';


Может у меня глаз замылен да я какой-то элементарной ошибки не вижу?

  Ответить  
 
 автор: cheops   (28.02.2012 в 00:10)   письмо автору
 
   для: deimand   (28.02.2012 в 00:02)
 

Очень странно, особенно, что одно выражение не работает, а другое работает. В моем понимании они либо оба работать должны, либо оба не работать.

  Ответить  
 
 автор: deimand   (28.02.2012 в 00:02)   письмо автору
 
 

Здравствуйте.

Очень хочу узнать по какой причине выражение

'/^([а-я]+)$/'

не соответствует строке

$str = 'строка';

отчего приходится писать выражение вида

'/^([акорст]+)$/'


И не эту ли проблему решили в последних версиях php?

  Ответить  

Сообщения:  [1-6] 

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

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