За последние 24 часа нас посетили 17975 программистов и 1681 робот. Сейчас ищут 1097 программистов ...

вопрос по регулярному выражению

Тема в разделе "PHP для новичков", создана пользователем mawa, 28 авг 2009.

  1. mawa

    mawa Активный пользователь

    С нами с:
    23 сен 2008
    Сообщения:
    100
    Симпатии:
    0
    Здравствуйте!!!

    Не могу понять почему в $mas[0] НЕ исходная строка!!!

    PHP:
    1.  
    2. $tmp="erfghdfghtw";
    3. if (ereg("(htw$)",$tmp,$mas))
    4.        {
    5.     echo("-0-> ".$mas[0]." -1-> ".$mas[1]." -2-> ".$mas[2]."<br>");
    6.        }
    7.  
    Выводит $mas[0] такой же как и $mas[1]. А должно $mas[0]==$tmp!!! Что не так???
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Самое время ЗАБЫТЬ про функции ereg (POSIX), и переходить на PCRE и функции preg_
    Тогда и проблем не будет.
     
  3. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    PHP:
    1. <?
    2.  
    3. $tmp="erfghdfghtw";
    4.  
    5. if(preg_match('/(htw)$/is', $tmp, $match)) {
    6.     echo '<pre>' . print_r($match, true) . '</pre>';
    7. } else echo "Nothing is found";
    8.  
    9. ?>
     
  4. mawa

    mawa Активный пользователь

    С нами с:
    23 сен 2008
    Сообщения:
    100
    Симпатии:
    0
    Спасибо за совет!