ФорумПрограммированиеPHP для идиотов → Игнорирование кавычек

Игнорирование кавычек

  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 16 сентября 2009 г. 10:48

    как эксплодить текст по опр символу, но не делать эксплод если этот символ встречается в кавычках?
    text;"text;text";FUCK

    =>
    text
    "text;text"
    FUCK
    Спустя 150 сек.
    тут нужен preg_split, но какой регуляркой? если просто игнорить разделитель, который между "", то "test";"test" - не будет разделятся (тк ; между кавычками)
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 16 сентября 2009 г. 10:48, спустя 9 секунд

    aivee, http://ru2.php.net/fgetcsv
    Сапожник без сапог
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 16 сентября 2009 г. 11:15, спустя 26 минут 47 секунд

    бля, это не катит) у меня не файл а строка
    ой бля))
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz 16 сентября 2009 г. 11:15, спустя 2 секунды


    бля, это не катит) у меня не файл а строка
    preg_match? )))
    Спустя 15 сек.
    Регулярку не составлю ибо не спец )
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 16 сентября 2009 г. 11:17, спустя 1 минуту 40 секунд


    бля, это не катит) у меня не файл а строка
    ой бля))
    блядь а в чем проблема в файл записать? …. ну дети, а ..
    Сапожник без сапог
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 16 сентября 2009 г. 11:19, спустя 2 минуты 9 секунд

    блядь а в чем проблема в файл записать? …. ну дети, а ..

    пиздец…
  • Dr.TRO

    Сообщения: 254 Репутация: N Группа: Адекваты

    Spritz 16 сентября 2009 г. 11:22, спустя 2 минуты 51 секунду

    regex
    '/[^"]+/i'[/code]захватывает все кроме кавычек 
    Спустя 38 сек.
    ++ к пиздец, нахуй извращаться и делать вдобавку гавнокод ?
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 16 сентября 2009 г. 11:28, спустя 6 минут 38 секунд

    как вариант, заменять ; на \; в совпадениях #["']([^"']+)["']#, а уже в preg_split резать по ; игноря \;
  • Dr.TRO

    Сообщения: 254 Репутация: N Группа: Адекваты

    Spritz 16 сентября 2009 г. 11:46, спустя 17 минут 34 секунды

    <?php

    $text = 'text;"text;text";FUCK';
    $arr_text = preg_split('/["]+/i', $text);
    print_r($arr_text);

    ?>[/php]Result :[code][email protected]:~$ php system.php
    Array
    (
       [0] => text;
       [1] => text;text
       [2] => ;FUCK
    )[/code]простите что на серве мелкомягких, локалхост лень подымать
  • artoodetoo

    Сообщения: 5139 Репутация: N Группа: в ухо

    Spritz 16 сентября 2009 г. 19:44, спустя 7 часов 57 минут 56 секунд

    RTFM


    <?php

    if (!function_exists('str_getcsv')) {
       function str_getcsv($input, $delimiter = ",", $enclosure = '"', $escape = "\\") {
           $fiveMBs = 5 * 1024 * 1024;
           $fp = fopen("php://temp/maxmemory:$fiveMBs", 'r+');
           fputs($fp, $input);
           rewind($fp);

           $data = fgetcsv($fp, 1000, $delimiter, $enclosure); //  $escape only got added in 5.3.0

           fclose($fp);
           return $data;
       }
    }

    print_r(str_getcsv('text;"text;text";FUCK', ';'));

    эта заглушка будет работать пока не поставишь 5.3, а там родная функция начнет работать
    ιιlllιlllι унц-унц

Пожалуйста, авторизуйтесь, чтобы написать комментарий!