preg_match не работает

Discussion in 'PHP' started by RRR_RRR, 10 Dec 2013.

  1. RRR_RRR

    RRR_RRR Member

    Joined:
    20 Jun 2012
    Messages:
    396
    Likes Received:
    35
    Reputations:
    0
    Вот собственно проблема
    Функция preg_match пропускает символы которые я запретил
    В чем может быть ошибка ?

    PHP:
    if(preg_match('$#!%',$_GET['name'])) 
    {
              die(
    "error");
    }
     
  2. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    спецсимволы экранировать надо и delimiters нет
     
  3. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75

    Первая ошибка в том что для этих вопросов есть спец тема
    http://forum.antichat.ru/threadedpost3634656.html

    а вторая в том что тьы ***ю написал

    PHP:
    if(preg_match("/$|#|!|%/",$_GET['name']))  

              echo 
    "aaa";
     
  4. mustedlife

    mustedlife New Member

    Joined:
    31 Jan 2013
    Messages:
    11
    Likes Received:
    3
    Reputations:
    0
    PHP:
    $name $_GET['name'];
    $quotes = array("#""\\$""!""%");
    if(
    preg_match('/' implode('|'$quotes) . '/i'$name)) 
    { echo 
    "est simvoly"; }
    else 
    {echo 
    "netu simvolov";}
    if(preg_match("/\\$|#|!|%/",$_GET['name']))
     
    #4 mustedlife, 10 Dec 2013
    Last edited: 10 Dec 2013
    1 person likes this.
  5. RRR_RRR

    RRR_RRR Member

    Joined:
    20 Jun 2012
    Messages:
    396
    Likes Received:
    35
    Reputations:
    0
    всем спасибо за помощь