На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
  
    > preg_replace глючит на символе 0
      ExpandedWrap disabled
        $res = preg_replace( '#^blabla\s*#u', '', 'blabla 0' );

      Результат равен 'blabla 0', а должен быть '0'.

      Все в utf-8. Почему так? Как исправить?

      Добавлено
      Такой шаблон '#^blabla[ ]*#u' тоже глючит
      Сообщение отредактировано: S.Eugene -
        r u kidding?
        Прикреплённый файлПрикреплённый файл123123.jpg (107,51 Кбайт, скачиваний: 380)
          У меня так было. Как же это я так :huh:
          ExpandedWrap disabled
            if( $res = preg_replace( '#^blabla\s*#u', '', 'blabla 0' ) )
            {
              $str = $res;
              ...
            }

          Еще у меня подобное есть с функцией preg_filter.

          В описании написано: Если совпадений не найдено или возникла ошибка, возвращается пустой массив array, когда subject имеет тип array, или NULL в противном случае.

          Пустой массив всегда === NULL?
          Такая конструкция будет корректно работать?
          ExpandedWrap disabled
            if( ( $res = preg_filter( '#^blabla\s*#u', '', 'blabla 0' ) ) !== NULL )
          Сообщение отредактировано: S.Eugene -
            В таком условии как у тебя в примерах условие никогда не будет выполняться, т.к. и "0" и "[]" кастуются к false.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0200 ]   [ 17 queries used ]   [ Generated: 29.03.24, 09:56 GMT ]