За последние 24 часа нас посетили 17067 программистов и 1635 роботов. Сейчас ищут 1087 программистов ...

Preg_replace

Тема в разделе "PHP для профи", создана пользователем S_t_e_e_p, 17 янв 2018.

  1. S_t_e_e_p

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

    С нами с:
    12 июл 2012
    Сообщения:
    181
    Симпатии:
    4
    Привет всем, очень нужна ваша помощь, дело в том, что мне нужно в строке вытянуть текст с определенной позиции.

    Входящая строка: Шина летняя 325/30/21 108Y Michelin Pilot Sport C

    Исходящая строка: 325/30/21

    Как это лучше сделать?
     
  2. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @S_t_e_e_p, можно ведь не привязываться к "позиции", а выбрать по шаблону: цифры/цифры/цифры.
    Если так, то:
    PHP:
    1. $matches = [];
    2. $str = "Шина летняя 325/30/21 108Y Michelin Pilot Sport C";
    3. $result = preg_match('~\d+/\d+/\d+~', $str, $matches);
    4. var_dump($result, $matches);
     
    S_t_e_e_p и keren нравится это.
  3. S_t_e_e_p

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

    С нами с:
    12 июл 2012
    Сообщения:
    181
    Симпатии:
    4
    @Sail, спасибо, все работает)
    --- Добавлено ---
    @Sail, а если допустим значения будет 2 допустим 325/30C то как сделать такую проверку чтобы работало если у нас 3 или 2 значения?
     
  4. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    /\d+\/\d+[a-z]?(\/\d+)?/i
     
  5. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Ох... Где-то у меня были регулярки на диски / шины, штук 100, длинных-длинных и запутанных. Покрывают процентов 80-90 вариантов. Надо? ))