Помогите с регулярными выражениями (PHP)

T
На сайте с 28.06.2007
Offline
82
421

Добрый день!

Помогите пожалуйста составить регулярное выражение:

надо проверить 3-е слово в строке, если оно сосотоит не из русских букв, вывести "Не из русских букв", иначе вывести русское слово...

$text='Сегодня мы ходилиNs!.;? гулять в цырк. По пути в цырк';

$texts=explode(" ", $text);
if(!preg_match("/...не смог разобраться что-то вроде (([А-Яа-я])*)..../", $texts[2]))
{echo $texts[2];}
else {echo "Не из русских букв";}
ewg777
На сайте с 04.06.2007
Offline
225
#1

Автоматическое определение языка произвольного текста на РНР — библиотека PHPLangautodetect наиболее надёжный метод, а также можно использовать с другими языками.

J
На сайте с 02.02.2009
Offline
53
#2

/^([а-я]+\s){2}[^а-я]+\s/i

T
На сайте с 28.06.2007
Offline
82
#3

Спасибо вам, автоматическое определение языка не подходит. Сильно муторно.

Думаю здесь есть решение через регулярное выражение. В1-2 строки.

Надо проверить состоит ли слово из русских букв, если состоит вывести его, иначе "ошибка".

/^([а-я]+\s){2}[^а-я]+\s/i не работает :(

Z1
На сайте с 09.12.2005
Offline
164
#4


$text = 'Сегодня мы ходилиNs!.;? гулять в цырк. По пути в цырк';
$texts = explode(" ", $text);
if (preg_match("/^[A-Яа-я]+$/", $texts[2]))
echo $texts[2];
else
echo "Не из русских букв";
[Удален]
#5

preg работают с русскими буквами только в UTF-8.

Почему об этом не пишут авторы советов, я не втыкаю если честно.

Еще для корректной работы сравнений строк надо локаль поставить ru_RU.UTF8

T
На сайте с 28.06.2007
Offline
82
#6

zweroboy1, ваш вариант работает, спасибо огромное!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий