Эта тема на forum.dklab.ru


Сергей: непонятные предупреждения preg_match_all
Здравствуйте, у меня такая проблема: из базы я выцепляю названия браузеров в таком вот виде с регулярными выражениями /.{0,99}MSIE 4.{0,99}Windows 95.{0,99}/ и пытаюсь его сравнить с браузерам пользователя, в результате чего скрипт отрабатывает, возвращает правильный id агента в базе, но при этом выдает кучу warning'ов типа Unknown modifier и Compilation failed: unmatched parentheses at offset , вот я ни как не пойму почему. Может кто подскажет а? Только не посылайте меня пожалуйста в ман я там уже был.

$result = mysql_query( "SELECT id, agent FROM agents ORDER BY id" );
while( $row = mysql_fetch_row( $result ) ) {
if( preg_match_all( $row[ 1 ], $agent, $tmp ) ) {
$agent_id = $row[ 0 ];
break;
}
}
Дмитрий Котеров:
И не стыдно Вам такие вопросы задавать... Отлаживать же надо скрипты. Поставьте echo $row[0] перед вызовом preg_match_all (кстати, почему all?) и посмотрите, на что именно он ругается. Наверняка у Вас просто база замусорена.
Сергей:
Ну ступил... Ну с кем не бывает? Я не догадался базу то проверить, а там запесей то уууу и мусор есть :) Спасибо.

З.Ы. А в не знаете, случайно, почему при импорте в базу файла с регулярными выражениями все символы "\" (без ковычек) куда-то пропали?
Юрий Насретдинов:
Сергей:
Потому что их надо экранировать - "\\"
Anonymous:
Спасибо, уже разобрался.

Эта тема на forum.dklab.ru