Регулярное выражение не работает после загрузки на сервер.

andi

Guest
Регулярное выражение не работает после загрузки на сервер.

Господа.
Вот кусочек кода
PHP:
setlocale(LC_ALL,"ru_RU.CP1251");
preg_match_all('%<SPAN[^>]*>[\s“"«]*((\w).+)[\s"»]*(</SPAN>)?<A name="(.+)"%is',$filestr,$arr_word);
В локалке работает идеально. Какое-то время и на сервере работало. Теперь "вдруг" перестало. По другую сторону утверждают, что никаких изменений в настройки не вносили и помочь ничем не могут.
В переменную $filestr - данные заносяться исправно. А вот массив $arr_word - остается пустым.
Третий день ломаю голову. Сравнил phpinfo - все вроде идентично.
Подскажите, если сталкивались с подобными проблемами.
 

BRat

o_0
Начиная с PHP 4.2.0, Perl-совместисмые регулярные выражения (PCRE) доступны по умолчанию. Вы можете отключить их при помощи --without-pcre-regex. В случае, если вы хотите использовать библиотеку, отличную от идущей в стандартной поставке РНР, используйте опцию --with-pcre-regex=DIR для указания директории, содержащей необходимые файлы. Если у вас версия PHP менее, чем 4.2.0, вам необходимо сконфигурировать и пересобрать PHP с опцией --with-pcre-regex[=DIR], чтобы включить поддержку PCRE-функций.
 

neko

tеam neko
нельзя ли что-нибудь из гомера?
отношение к делу такое же, зато читать интересней
 

andi

Guest
Версии:
у меня 4.3.1
на сервере 4.3.10
Да я и сомневаюсь,что они с какого-то перепугу отключили поддержку PCRE-функций.
Проблема в чем-то ином кроется.
 

andi

Guest
С большой долей сомнения могу предположить, что версии библиотек могут на это дело повлиять. Но вот только у них постарше будет. Но на всякий случай...
На сервере стоит: PCRE Library Version 4.5 01-December-2003,
у меня: PCRE Library Version 3.92 11-Sep-2002

-~{}~ 19.03.05 08:15:

А что она должна возвращать?
Ее вписали программеры с сервера, когда в первый раз я столкнулся с такой же проблемой. Проблема благополучно отпала тогда. Теперь все опять повторяется.
 

neko

tеam neko
я понял
проблемы не было потом она появилась
и ты с ней столкнулся
в то же время программеры вписали
но проблема не отпала благополучно, как тогда
и вдобавок все повторяется
 

andi

Guest
хронология примерно такая

-~{}~ 19.03.05 08:24:

в первый раз проблему благополучно устранили прописав эти самые локальные настройки, а что мне теперь вписать...
ни они, ни я не знаю

-~{}~ 19.03.05 09:13:

ну так что, Гуру...
можно надеяться на конкретную помощь?
 

Фанат

oncle terrible
Команда форума
это был ответ на вопрос.
если ты пишешь для того, чтобы соригинальничать, то не суди о других по себе.

ты пришел на форум в субботу ранним утром и ждёшь, что к тебе сейчас кинутся сто человек конкретно отвечать на неконкретный вопрос. Так ещё и понукаешь. Ты не ошибся адресом? пойди, мамаше свой заяви - можешь ли ты сегодня утром надеятсья на конкретный завтрак.
А здесь сиди и жди спокойно, не трепыхайся.
погонять, повторюс - я себя дома будешь.
я доступно объясняю?
 

andi

Guest
для справки
1. мой вопрос адресовался конкретно к neko, поскольку он находился (находится) здесь в данный момент времени
2. я не трепыхаюсь и не оригинальничаю, а зашел сюда действительно за помощью
3. а если Вам, молодой человек, захотелось поболтать без темы - идите в чат для тинейджеров...
 

Фанат

oncle terrible
Команда форума
и что конкретно neko должен ответить?
зажешь 6 свечей, нарисовать пентаграмму, принять внутрь яд смеиной лягушки и прорицать - что такого на вашем сервере случилось, отчего рег перестал работать?

Ты вообще - какого ответа ждешь-то? Вариантов "почему может не работать"? Хочешь, я тебе 20 вариантов напишу?
Не вариантов? А чего?

Тебе вообще, такое понятие, как "отладка" - знакомо? дядя?

-~{}~ 19.03.05 10:10:

Подскажите, если сталкивались с подобными проблемами.
На самом деле, причина непонимания вот здесь, в процитированной строчке.
Это очень распростроанённое явление.
Большинство людей на этом форуме представляет себе только один, единственный способ решения проблем: спросить, не случалось ли у кого-то подобного.
Другие варианты им неизвестны.

у большинства же отвечающих привычен совсем другой подход. Вместо того, чтобы сидеть и ждать, они ПРОБУЮТ.

и вот именно из-за разности подходов и возникает непонимание.
Я давно уже предлагал сделать на форкме раздел для таких вот "ожидателей". Которые не хотят или не умеют исследовать свои проблемы самостоятельно или под руководством, а ждут именно конкретного "тыка пальцем": копать здесь!

Если бы был такой раздел, то можно было бы избежать кучи конфликтов. Ну ждет себе человек и ждёт.
и не лезли бы к нему те, кто привык решать проблемы самостоятельно и ожидающие от него такого же подхода
 

andi

Guest
Я к форумам обращаюсь второй раз за всю свою историю,
обычно сижу и копаю, как ты говоришь, сам.
А в данном случае просто забуксовал на ровном месте.
Собственно поэтому и привел пример кода с setlocale, чтоб показать, что проблема не в локальных настройках, а в чем-то еще. Естесственно, что сидеть сложа руки, не собираюсь. Может быть и сам решу проблему. Но если подобный случай был у кого-нибудь, почему бы не прибегнуть к чужому опыту.
 

Фанат

oncle terrible
Команда форума
ну вот, все и разрешилось.
просто отвечающим надо четко понимать, что вопрошающий не ждет рекомендаций по самостоятельному нахождению проблемы и просто обходить топик стороной

-~{}~ 19.03.05 10:30:

только, если вернуться к началу разговора, надо уточнить.
гуру совершенно не бязателен для такого ответа на вопрос.
сталкиваться с "такими" проблемами может совсем не гуру.
Даже наоборот. гуру как раз не ориентирован на пассивное решщение проблем.
Так что, ответ тебе как раз не от гуру светит. Если светит, конечно.
Если ты вообще встретишь человека, способного ответить на вопрос вида "у меня есть рег, он вдруг перестал работать. что случилось?"
 

SiMM

Новичок
hint: работать перестало не вдруг, а после обновления ПО сервера (версии PHP, если быть точнее). Советую всё же ознакомиться с первым ответом и проверить наличие отсутсвия ключа --without-pcre-regex. А так же включить наконец вывод ошибок и ознакомиться с ними, если они присутствуют. Как включить - можно узнать из FAQ, ссылка на который приведена в правилах форума.
 

svetasmirnova

маленький монстрик
andi
Собственно поэтому и привел пример кода с setlocale, чтоб показать, что проблема не в локальных настройках
Выполняем phpinfo и смотрим:
1. Configure Command
2. Если там ключ --without-pcre-regex отсутствует, пишем тест
PHP:
if (preg_match('/\w/', 'русский')) echo 'good';
и если он проходит, то ищем ошибку в выражении, а если нет, то
запускаем setlocale в разных вариантах, как написано в мануале, до успешного выполнения теста.
 

neko

tеam neko
один балбес сделал copy-paste и все прицепились

кто-то в серьез думает что php могут собрать без pcre?
честно, таково ваше мнение?
 

SiMM

Новичок
> кто-то в серьез думает что php могут собрать без pcre?
Не поверишь - но было.
 
Сверху