"PHP" / Говнокод #27323 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
function isRegEx($test)
{
    $notThisLine = error_get_last();
    $notThisLine = isset($notThisLine['line']) ? $notThisLine['line'] + 0 : 0;
    while (($lines = rand(1, 100)) == $notThisLine);
    eval(
        str_repeat("\n", $lines) . 
        '@preg_match(\'' . addslashes($test) . '\', \'\');'
    );
    $check = error_get_last();
    $check = isset($check['line']) ? $check['line'] + 0 : 0;
    return $check == $notThisLine;
}

"Test if a regular expression is a valid one in PHP"
https://stackoverflow.com/a/15143479/6702274

Запостил: kezzyhko kezzyhko, (Updated )

Комментарии (9) RSS

  • Хм, а зачем эти пляски с рандомизацией пустых строчек?

    Иначе пых закешит регулярку и в следующий раз проверка закосячится?
    Ответить
    • Вероятно, что бы убедиться, что error_get_last укажет на ошибку именно в нашей регулярке, а не на какое-то старое говно...
      Ответить
      • Дык там почистить ошибку вроде можно перед тем как eval звать. Или нет такой функции?
        Ответить
        • Из комментов со stackoverflow:
          "Seriously, I've managed to find my way back here and I still have absolutely no idea about this snippet; what on earth is it doing?"
          Ответить
  • Какое-то днище. А нельзя скомпилировать регулярку как в нормальных языках и таким образом проверить?
    Ответить
    • regular expression validator as service
      и выдавать все прошедшим gif с гордой надписью valid PHPCRE
      Ответить
        • Знаешь, есть такие днищевые индексы типа "10 самых востребованных языков: CSS, SCSS, HTML, SQL, XML" итд. Так вот там иногда бывает RegExp
          Ответить

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

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8