Ошибка PHP 5.3.3 или preg_match плохо проверяют? - PullRequest
0 голосов
/ 29 ноября 2010
<?php
$query = 'q=Riha47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a4744444444444444444444444444444444444444444444444na&start-index=60&max-results=20';
$pattern = "/^(?:%[[:xdigit:]]{2}|[A-Za-z0-9-_.!~*'()\[\];\/?:@&=+$,])*$/";

if (preg_match($pattern, $query))
    echo 'true';
else
    echo 'false';

Скрипт ничего не выводит ... Он предлагает скачать php файл 0 байт .. Мне нужно это исправить, потому что это, вероятно, все еще ошибка в Zend_Gdata! Извините за плохой английский.

EDIT:

У вас есть версия 5.3.3 php? Проблема исчезнет, ​​если вы добавите «U» в конце выражения. Что за хрен?

1 Ответ

0 голосов
/ 17 августа 2011
$query = 'q=Riha47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a47444444444444444444444444444444444444444444444444444444444444a4744444444444444444444444444444444444444444444444na&start-index=60&max-results=20';

if (preg_match('#^(?:%[[:xdigit:]]{2}|[A-Za-z0-9-_.!~*\'()[\];/?:@&=+$,])*$#i', $query)) {
    echo "TRUE"; // THIS CASE
} else {
    echo "FALSE"
}
...