За последние 24 часа нас посетили 20248 программистов и 1009 роботов. Сейчас ищут 355 программистов ...

Поиск фразы в строке

Тема в разделе "Сделайте за меня", создана пользователем XyRmaT, 25 июл 2021.

  1. XyRmaT

    XyRmaT Новичок

    С нами с:
    24 июл 2021
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте. Есть строка. В ней находятся слова через пробел.
    Среди этих слов возможно есть фраза определенного характера. Нужна функция, которая могла бы проверять, есть ли там возможная фраза. Кто может помочь, буду рад, если отпишетесь в телеграмм @xyrmat_xyrmatov
     
  2. Artur_hopf

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

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    PHP:
    1. $str = 'помидор томат сок огурец вишня фраза тест';
    2.  
    3. $word =  'фраза';
    4. echo find($str, $word);
    5.  
    6. $word =  'фазан';
    7. echo find($str, $word);
    8.  
    9. function find($str, $word)
    10. {
    11.     $pos = strripos($str, $word) ? "{$word} найден" : "К сожалению, {$word} не найден";
    12.     return $pos . '<br>';
    13. }
     
  3. XyRmaT

    XyRmaT Новичок

    С нами с:
    24 июл 2021
    Сообщения:
    4
    Симпатии:
    0
    Это было бы слишком просто)
    У меня есть массив слов. Ииз этих слов возможно собрать фразы.
    Допустим
    Код (Text):
    1.  
    2. $arr = ['hello', 'god', 'wifi', 'green', 'peace'];
    3.  
    4. $str = "dhjsjdjd djsjdj team job warning war green peace hello god ksksksksk";
    И строки всегда разные. Но возможно, в них есть эта фраза. Важна их длина, собирается начиная с 4. Иначе это не нужная нам фраза. Буду рад если поможете)
     
  4. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Попробуйте взглянуть на свою задачу со стороны.
    Всё ли вам в ней понятно?
    Предыдущая попытка вам помочь должна была вас натолкнуть на мысль, что не всё гладко с пониманием.
     
  5. Artur_hopf

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

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    PHP:
    1. <?php
    2. $arr = ['hello', 'god', 'wifi', 'green', 'peace'];
    3. $str = "dhjsjdjd djsjdj team job warning war green peace hello god ksksksksk";
    4.  
    5. foreach( $arr as $val )
    6. {
    7.     echo find($str, $val);
    8. }
    9.  
    10. function find($str, $word)
    11. {
    12.     $pos = strripos($str, $word) ? "{$word} найден" : "К сожалению, {$word} не найден";
    13.     return $pos . '<br>';
    14. }
     
  6. XyRmaT

    XyRmaT Новичок

    С нами с:
    24 июл 2021
    Сообщения:
    4
    Симпатии:
    0
    Таким образом я нахожу только слово. А мне надо же выдернуть строку. Целую фразу. Сам пытался делать, но только запутался в хитросплетениях php:D
     
  7. Artur_hopf

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

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    twim32, Sonicon и don.bidon нравится это.
  8. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    составьте массив фраз, ищите не слова а фразы....
     
  9. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    858
    Симпатии:
    132
    :D:):D