За последние 24 часа нас посетили 17850 программистов и 1613 роботов. Сейчас ищут 1262 программиста ...

Как достать два значения через разделитель ;

Тема в разделе "Регулярные выражения", создана пользователем rikob, 7 сен 2012.

  1. rikob

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

    С нами с:
    7 сен 2012
    Сообщения:
    2
    Симпатии:
    0
    Есть:
    Код (Text):
    1. http://site.ru/scv/lpp/uu/;Название суперhttp://site.ru/scv/lpsp/usau/;Название супер пупер 123
    Надо достать название,может состоять из любых символов
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    А между словом "супер" и "http" - ничего нет, они так слеплены в одно слово, как в примере выше?
     
  3. rikob

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

    С нами с:
    7 сен 2012
    Сообщения:
    2
    Симпатии:
    0
    Да,в том то и проблема
    Я уж думал как нибудь перенести на новую строку
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Ну тогда тут нужно уже по обстановке. Вообще, если каждая строка начинается с http:// (то есть ссылки), а в колонке с названиями - "http://" не встречается, то для начала я бы заменил все http:// на "\nhttp://" - то есть вставил бы перевод строки перед каждым "http://". И сохранил бы такой файл (с переносами строк):
    Код (PHP):
    1. <?php
    2. $path = dirname(__FILE__) . DIRECTORY_SEPARATOR;
    3. $data = file_get_contents($path . 'data.txt');
    4. $data = str_replace('http://', "\nhttp://", $data);
    5. file_put_contents($path . 'data_new.txt');
    6. ?>
    Ну а далее уже работал бы с этим файлом, используя стандартные PHP-функции для работы с CSV:
    http://www.php.ru/manual/function.fgetcsv.html
    http://www.php.ru/manual/function.fputcsv.html
    http://www.php.ru/manual/function.str-getcsv.html
     
  5. Gold Dragon

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

    С нами с:
    30 сен 2012
    Сообщения:
    306
    Симпатии:
    2
    Адрес:
    Тамбов
    Код (Text):
    1. $a = "http://site.ru/scv/lpp/uu/;Название суперhttp://site.ru/scv/lpsp/usau/;Название супер пупер 123";
    2.  
    3. $b = preg_split("#(http:\/\/[-0-9a-zA_Z_&?\/\.]+[;]+)#ui", $a);
    4.  
    5. echo "<pre>";
    6. print_r($b);
    7. echo "</pre>";