За последние 24 часа нас посетили 16859 программистов и 1641 робот. Сейчас ищут 945 программистов ...

универсальный explode

Тема в разделе "PHP для новичков", создана пользователем vikrorpert, 18 июл 2015.

  1. vikrorpert

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

    С нами с:
    13 окт 2010
    Сообщения:
    984
    Симпатии:
    10
    на вход может податься одна из двух типов строк
    1,2,3
    1\n2\n3
    как универсально вызвать explode чтобы ф-я сама делала проверку
    попытался сделать в лоб
    Код (Text):
    1.  
    2. $arr=explode(',', $str);
    3. if (count($arr)==0)
    4.   $arr=explode("\n", $str);
    проблема в том что $arr всегда будет иметь 1 элемент
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    explode в данном случае ни как, тут надо сначала при помощи str_replace заменить все \n (и другие символы если понадобиться) на запятые и потом только при помощи explode через запятые получить массив.
     
  3. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
  4. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Код (PHP):
    1. $parts = preg_split('/[,\n]/', $str1, -1, PREG_SPLIT_NO_EMPTY);