mrx100
Новичок
Проблема с работой preg_match
Всем привет. Проблема в следующем. Есть сценарий поиска по текстовому файлу с простым регулярным выражением вида:
if (preg_match("/\b" . $pattern . "\b/i", $text)) {
...
}
где по шаблону $pattern в текущей строке $text текущего тектового файла ищутся соответствующие совпадения, если они есть. Все работает как надо на локальном сервере Apache+PHP 5.0. Но стоит только выложить весь поисковик на сервер провайдера, то при наличии символов \b в выражении искомый текст не находится (а он есть, само собой). Стоит только эти обрамляющие начало и конец шаблона символы убрать - текст начинает обнаруживаться. При этом полностью игнорируется символ i. То есть, стоит мне исправить в шаблоне только одну букву на заглавную - он тут же перестает обнаруживаться в тексте даже если нет символов \b. Тот же эффект, если вместо preg_match использовать eregi - не работает вариант выражения, когда игнорируются различия в регистрах, то есть находится только строгое соответствие по шаблону, включая регистр символов.
Повторяю, что на локальном сервере Apache все работает - не работет у провайдера. В чем тут может быть дело? Спасибо за внимание.
Всем привет. Проблема в следующем. Есть сценарий поиска по текстовому файлу с простым регулярным выражением вида:
if (preg_match("/\b" . $pattern . "\b/i", $text)) {
...
}
где по шаблону $pattern в текущей строке $text текущего тектового файла ищутся соответствующие совпадения, если они есть. Все работает как надо на локальном сервере Apache+PHP 5.0. Но стоит только выложить весь поисковик на сервер провайдера, то при наличии символов \b в выражении искомый текст не находится (а он есть, само собой). Стоит только эти обрамляющие начало и конец шаблона символы убрать - текст начинает обнаруживаться. При этом полностью игнорируется символ i. То есть, стоит мне исправить в шаблоне только одну букву на заглавную - он тут же перестает обнаруживаться в тексте даже если нет символов \b. Тот же эффект, если вместо preg_match использовать eregi - не работает вариант выражения, когда игнорируются различия в регистрах, то есть находится только строгое соответствие по шаблону, включая регистр символов.
Повторяю, что на локальном сервере Apache все работает - не работет у провайдера. В чем тут может быть дело? Спасибо за внимание.

