За последние 24 часа нас посетили 18780 программистов и 1651 робот. Сейчас ищут 939 программистов ...

Нужно составить строку из текста

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

  1. Daffy_fack

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

    С нами с:
    9 апр 2010
    Сообщения:
    2
    Симпатии:
    0
    Нужно привести строки вида: "Агрегат (КПП и раздатка) "DYMOS" УАЗ-3163 Patriot дв. 409 (комплект установочный)"
    к выражению вида: "Агрегат DYMOS УАЗ-3163 Patriot"

    Т.е. исключить все сокращения ("дв."), значения в скобках, кавычки, а так же отдельно стоящие цифры.
    Бьюсь над шаблоном уже сутки....
     
  2. akrinel

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

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    Ну а где то что Вы надумали за сутки?
    Статистика утверждает, что быстрее(бородатые девушки не в счет) помогают тем кто выкладывает отформатированный код. :)

    Ну а вообще что-то типа этого должно помочь:

    PHP:
    1.  
    2. <?php
    3.     $text  =  'Агрегат (КПП и раздатка) "DYMOS" УАЗ-3163 Patriot дв. 409 (комплект установочный)'; 
    4.     $pattern  =  '/[\"]+|\s[0-9]+|\sдв\.|\([^\)]+\)/ui';
    5.     echo  preg_replace($pattern, '', $text);
    6. ?>
    7.  
     
  3. Daffy_fack

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

    С нами с:
    9 апр 2010
    Сообщения:
    2
    Симпатии:
    0
    akrinel, благодарю за пример. Немного доработал и получилось, что хотел)))

    PHP:
    1.  
    2. <?php
    3. $pattern  =  '/[\"]+|\s+[0-9]+|\s+[а-яА-яa-zA-z]{2,3}\.|\([^\)]+\)/i';
    4. ?>
    5.