Отбрасывание окончания

Тема в разделе "PHP", создана пользователем gOsToFf, 13 дек 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. gOsToFf

    gOsToFf Постоялец

    Регистр.:
    1 окт 2007
    Сообщения:
    82
    Симпатии:
    4
    вот допустим у меня есть
    blabla
    blabla_1
    blabla_2

    Мне надо чтобы после обработки их в переменных оставалось только начало blabla
    а символ _ и все что после уходило. Как это реализовать? прегматч? регуляркой? explode? я просто новичек еще пока в этом... И плз примерчик

    Добавлено через 17 минут
    разобрался с функцией explode.
    Тему можно закрыть. Сори
     
  2. evangel

    evangel Создатель

    Регистр.:
    7 сен 2008
    Сообщения:
    17
    Симпатии:
    1
    если используется только знак "_" то вариант
    PHP:
    $Stroka "blabla_2";
    $StrokaArr explode("_"$Stroka);
    после чего получим
    PHP:
    echo $StrokaArr[0]; #blabla
    echo $StrokaArr[1]; #2
    если помог то кнопочка Спасибо :)
     
  3. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    не помог, ф-я explode тут ни к чему

    PHP:
    $arr = array('blabla','blabla_1','blabla_2');
    $mask 'blabla';
    $lenght strlen($mask);
    $pos false;
    foreach(
    $arr as $k=>$v)
     {
      
    $pos stripos($arr[$k],$mask);
      if(
    $pos != false)
      {
        
    $arr[$k] = substr($arr[$k],$pos,$lenght);
      }
     }
     
  4. RolCom

    RolCom

    Регистр.:
    12 мар 2008
    Сообщения:
    351
    Симпатии:
    108
    Пример, достойный говнокод.ру:)
     
  5. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    да ну?)) чем аргументируешь?
     
  6. _axl

    _axl Постоялец

    Регистр.:
    24 сен 2008
    Сообщения:
    50
    Симпатии:
    8
    Код:
    $str = 'blabla_1';
    echo substr( $str, 0, strpos( $str, '_' ) );
    или
    Код:
    $str = 'blabla_1';
    echo str_replace(strchr($str, '_'), '', $str);
     
  7. RolCom

    RolCom

    Регистр.:
    12 мар 2008
    Сообщения:
    351
    Симпатии:
    108
    Ну и регуляркой
    PHP:
    $str 'blabla_1';
    $str preg_replace('/_.*/s'''$str);
    Добавлено через 31 минуту
    А, еще вариант на функции, специально для этого предназначеной
    PHP:
    strstr($str'_'true); //PHP 5.3.0 и выше
     
  8. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Все умеем читать php.net и заметим:

    Замечание: Если нужно лишь определить, встречается ли подстрока needle в haystack, используйте функцию strpos(), которая работает быстрее и потребляет меньше памяти.

    P.S. я пример скрипта писал чтобы было понятнее ТС, а не для конкурса спортивного программирования
     
  9. RolCom

    RolCom

    Регистр.:
    12 мар 2008
    Сообщения:
    351
    Симпатии:
    108
    Это замечание к примеру ТС не имеет ни какого отношения.
     
Статус темы:
Закрыта.