В общем случай для меня загадочный
Имеем класс, самый обыкновенный, внутри него метод, проверяющий есть русские буквы или нет:
class Content {
public function isText($str)
{
return preg_match('/([а-я][А-Я]+)/msi',$str);
}
}
Мистика/баг/кривая рука происходит тут:
$c = new Content();
$text = 'Мы дорожим отношениями с постоянными и новыми клиентами и делаем все возможное, чтобы каждому нашему покупателю было удобно совершать покупки и возвращаться к нам снова.';
echo $c->isText($text); // В этом случае выдает 1
echo preg_match('/([а-я][А-Я]+)/msi',$text); // В этом выдает 0
В чем фокус не понятно. При проверенных одинаковых входящих данных, возвращаемые значение разные. Отличие только в том, что в первом случае результат выполнения данной функции возвращается из метода.