помощь с модулем

помощь с модулем

от Ann K -
Количество ответов: 15

Всем добрый день!

Все никак не могу разобраться с модулем, реализующего регулярные выражения на русском языке в мудлегрущугрущу  а очень нужен грущу

может ли кто-нибудь помочь реализовать его не за просто так?

В ответ на Ann K

Re: помощь с модулем

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle

Вы о чем ?

Ссылку на модуль дайте. И какой версией modle пользуетесь.

В ответ на Виталий Лавров

Re: помощь с модулем

от Ann K -

в том то и косяк, что мне надо самой реализовать этот модуль... но что-то кажется что это не по силам мне грущу

В ответ на Ann K

Re: помощь с модулем

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle

Требуется приличное знание php  и умение пользоваться поиском в гугле.

php поддерживает регуляные выражения для любого языка, главное не забывать что в moodle все в utf-8.

 

В ответ на Виталий Лавров

Re: помощь с модулем

от Ann K -

ну вот я ввожу например, РВ на англ...популярный пример, животное из трех букв cat, rat

работает

ввожу такое же регулярное выражение, только меняю среднюю букву на  русскую о , чтоб подходили ответы дог и кот

и не работает..принимает за неверный ответ,.. что, где может надо прописать, донастроить, чтобы работало?

В ответ на Ann K

Re: помощь с модулем

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

Ann, давайте по порядку. Вы говорите 1. Версию moodle. 2. Что у вас там за модуль, какой версии и где вы его взяли. 3. Что вы вводите во все поля формы при создании вопроса этого типа. 4. Regexp и слова, на которые оно срабатывает/не срабатывают по-английски. 5. Пример текста вопроса, regexp и ответы, на котором должно срабатывать по-русски, но не срабатывает.

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

Я вот, к несчастью, не знаю наизусть примеров популярных английских регулярных выражений )))

В ответ на Ann K

Re: помощь с модулем

от Vadim Tabunshchik -
Изображение пользователя Developers

Уже просили - покажите модуль/тип_вопроса, в котором вы это хотите реализовать. Иначе это разговор "ни о чём".

На заметку: Для использования кириллицы в регулярках в функции РНР preg_match нужно использовать модификатор /u

Пример: как известно, в модуле "Лекция" есть страница с вопросом "Краткий ответ", но не работает кириллица. Попробуйте найти функцию проверки вопросов public function check_answer() (файл moodle\mod\lesson\pagetypes\shortanswer.php, у меня версия Мудл 2.5) и вставить модификатор /u в строке 104 (в своей версии Мудл ищите эту строку, она может быть в другом месте):
if (preg_match('/^'.$expectedanswer.'$/u'.$ignorecase,$studentanswer)) {

Как результат, работает вопрос "Какие цвета на французском флаге?", в кот. преп-ль в качестве верного ответа указал выражение: "синий, белый(,| и) красный" с галкой у опции "Использовать регулярные выражения". Верными считаются ответы: "синий, белый и красный" И "синий, белый, красный"

ЗЫ: может ещё где-то в этой функции нужно "пошаманить", проставив нужный модификатор.

Обратите внимание на документацию, внизу есть ссылка на тип вопроса с регулярками от русского автора (у него же должна работать кириллица в регулярках?) улыбаюсь

В ответ на Vadim Tabunshchik

Re: помощь с модулем

от Ann K -

Версия 2.3.

Модуль "лекция", вопрос типа "краткий ответ"

1. ввожу в поле ответа на англ: [bcr]at

Ответы: bat cat и rat верные

 

2. Ввожу в поле ответа [рт]ок

Ответы : рок и ток...Ни один ответ не принимает

 

в чем может быть проблема не понимаю

В ответ на Vadim Tabunshchik

Re: помощь с модулем

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle

Там таких строк несколько.

И в документации есть неточности. Символ ^ прибивается ко всем RE проме ответа с "++" 8-/

 

В ответ на Виталий Лавров

Re: помощь с модулем

от Vadim Tabunshchik -
Изображение пользователя Developers

Там таких строк несколько.

Да, но нет необходимости вносить правки там, где проверяется правильность ответа БЕЗ использования регулярных выражений.

Поэтому, исправления в условиях if (!$useregexp) с комментарием //we are using 'normal analysis' (мы используем "обычный анализ") - лишние.

В ответ на Vadim Tabunshchik

Re: помощь с модулем

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle

Я бы исправил все 6, т.к. без галочки RE все равно можно использовать RE.

В ответ на Виталий Лавров

Re: помощь с модулем

от Vadim Tabunshchik -
Изображение пользователя Developers

Я бы исправил все 6, т.к. без галочки RE все равно можно использовать RE.

Не спорю. Очень удобно, когда лень галочки ставить улыбаюсь)))))))))

В ответ на Vadim Tabunshchik

Re: помощь с модулем

от Ann K -

Вадим, спасибо огромное!!!!!!!!!!!

Работает Кириллица)))

поставила только в одной строчке, как Вы и сказали...В другие ставить даже не пришлось)

Подскажите пожалуйста, а что это за модификатор /U?

Хочется просто понять в чем дело было

В ответ на Ann K

Re: помощь с модулем

от Vadim Tabunshchik -
Изображение пользователя Developers

что это за модификатор /U?

u (PCRE_UTF8)

Этот модификатор включает дополнительную функциональность PCRE, которая не совместима с Perl: шаблоны обрабатываются как UTF-8 строки. Модификатор u доступен в PHP 4.1.0 и выше для Unix-платформ, и в PHP 4.2.3 и выше для Windows платформ. Валидность UTF-8 в шаблоне проверяется начиная с PHP 4.3.5.

Гугл в помощь: http://www.php.net/manual/ru/reference.pcre.pattern.modifiers.php

В ответ на Ann K

Re: помощь с модулем

от Petr Zakharov -

Так и не должна работать.

Пробуйте кот и рот.