Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Тексты > Регулярные выражения WIN->NIX |
Автор: SamDark 20.11.2006, 11:05 |
Недавно написали с товарищем http://rmc.net.ru/article/programming/typograph/. Тестировался он на Windows (Denwer). При переносе на NIX-хост работать начал некорректно. Чувствую, что дело в регулярных выражениях. Есть ли какие-либо особенности регулярок на WIN/NIX? |
Автор: szz 20.11.2006, 11:09 |
Нету. |
Автор: SamDark 20.11.2006, 12:17 | ||
Тогда есть ли идеи, почему по разному работает код на win/nix:
|
Автор: smartov 20.11.2006, 14:25 |
SamDark, одинаковы ли версии php? |
Автор: szz 20.11.2006, 14:51 |
Что там у нас в строке 69 произошло? И почему именно на 69? ![]() ![]() |
Автор: SamDark 20.11.2006, 17:15 |
smartov, 4.4.2 = localhost 4.3.10 = на сервере Некорректно работает именно на сервере... Где у нас ченджлог PHP? szz, Описка при копировании. Поправил код в посте. |
Автор: szz 21.11.2006, 04:08 | ||||
http://www.php.net/ChangeLog-4.php Там стоко всего призошло... копайся, мож найдешь. Немного сомнительное место:
Может в одном месте он как к копии относится, а в другом - как к ссылке? Т.е. unset посто удалит тот объект, на который ссылается $arr? И тогда плакала $t... Но так бы произошло в пятом, точно. А вот в таких минорных отличиях версий - хз... |
Автор: SamDark 21.11.2006, 09:56 | ||
C unset() всё в норме. Проверил его комментированием. В ченджлоге про PCRE только http://bugs.php.net/bug.php?id=33200 Если у кого есть хоть какой-то php-сервер, прошу оттестить данную строчку:
Если выдаёт ёлочки - работает как надо, если оставляет обычные кавычки - что-то здесь не так... p.s. может magic мешает? --- Попробовали на 4.3.2, хочтинг - те же результаты ![]() 4.0, Денвер - работает... |
Автор: Mal Hack 21.11.2006, 10:30 |
Единственно где может быть глюк - в регистре... Хотя никогда с таким не встречался... |
Автор: SamDark 21.11.2006, 10:38 |
Mal Hack, Подробнее, пожалуйста. |
Автор: -=Ustas=- 21.11.2006, 11:04 | ||
Скорее всего, по своему опыту именно с разнобоем в регах, проблема в locale. Нужно ставить нужную локаль для скрипта
Если данная локаль на вашем серваке установлена, то должно помочь обязательно. |
Автор: SamDark 21.11.2006, 11:54 |
Всем огромное спасибо! Про локаль даже и не думал... а зря ![]() |
Автор: -=Ustas=- 21.11.2006, 13:31 |
В регах просто используются всякие классы и спец-символы, которые в разных кодировках по-разному кодируются. |