Партнерки вебмастерам

Баннер

Кто онлайн

Сейчас 45 гостей онлайн

Статистика

Архив содержит 29 файлов в 11 категориях. На данный момент файлы скачаны 103393 раз.
Чудеса с регулярными выражениями PDF Печать E-mail
Подскажите пожалуйста, бьюсь уже второй день. ! Установлена Joomla 1.5.23, есть самописный скрипт на php, вставляющий на страницу форму для ввода регулярного выражения и строки и проверяющий результат на предмет сходства по ф-ции preg_match. Скрипт как автономный тестил достаточно много и проблем не обнаружил. При помощи Jumi 2.1.0b интегрировал скрипт на страницу. Беда в том, что там, где preg_match должна возвращать 1 (сходство найдено), почему-то возвращается 0. :o Прикол, что на денвере несколько сайтов, и на каких-то работает, а на каких-то не хочет. Причём интересно, что на всех старых, где установлена 1.5.21 и старее, все работает (даже если обновить жумлу до более новой).Чтобы разобраться, выводил на страницу отладочную информацию (регулярное выражение и строку), все переменные выводятся на экран без искажений. Выяснил, что почему-то обратный слэш в регулярном выражении игнорируется, хотя на экране в выводе присутствует. Например,

Вот показательный кусок из кода
Код:
$patern=$_POST['patern'];
$stroka=$_POST['stroka'];
...
// $patern="/ddd/";
echo 'patern='.$patern.' $stroka='.$stroka.'<br>';
$result=preg_match($patern,$stroka,$pockets);

К примеру, если в форму в строку регулярного выражения ввести
/(ddd)/
а в строку для поиска соответствия к примеру 474, то почему-то соотвествия не будет найдено. Хотя тестовый вывод $patern и $stroka на странице показывает верные значения. А вот если в качестве регулярного выражения в поле вбить /74/, то соответствие найдено будет. Ясно, что теряется обратный слэш. Интересно, что если в коде выше снять комментарий со строки
$patern="/ddd/";
то все работает верно. Вроде получается, что и из поля в переменную через POST записывается верное значение (со слэшем), и очему-то этот слэш игнорируется в функции регулярного выражения. Кто-нибудь может объяснить, хотя бы в какую сторону копать? !

P.S. А в автономном скрипте все работает.


 

Добавить комментарий


Защитный код
Обновить