ФорумПрограммированиеPHP для идиотов → а как обойти регистр слов?

а как обойти регистр слов?

  • ilma55

    Сообщения: 193 Репутация: N Группа: Кто попало

    Spritz 19 марта 2010 г. 14:47

    задача стоит в том, чтоб выделялась та информация в тексте, которую ищет пользователь.

    к примеру, юзер ввел слово кофе.

    то, не смотря на то, что из БД извлекаются все (любые) слова (КОФЕ, Кофе, кофе, КоФЕ…), выделение искомого слова будет только кофе, а все остальные варианты в пролете.

    как сделать чтоб все учитывалось???
  • Xakkap

    Сообщения: 29 Репутация: N Группа: Кто попало

    Spritz 19 марта 2010 г. 14:58, спустя 10 минут 50 секунд

    спёр аву >_<
  • artoodetoo

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

    Spritz 19 марта 2010 г. 15:03, спустя 5 минут 35 секунд

    поподробнее про "выделения", пожалуйста
    ιιlllιlllι унц-унц
  • ilma55

    Сообщения: 193 Репутация: N Группа: Кто попало

    Spritz 19 марта 2010 г. 15:11, спустя 7 минут 54 секунды

    ну вот:
    человек вводит слово поиска: море

    и ему выводится текст … выао рыад лыфра лы фод радлы фов р ад море лыврф д лы ардыл фворадш ыфврадрфыва…

    проблема в том что если пользователь ввел слово с маленькой буквы, то и выделение будет только слова с маленькой буквы.
    а мне бы хотелось чтоб выделение происходило не взирая на регитр символа
  • artoodetoo

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

    Spritz 19 марта 2010 г. 15:14, спустя 2 минуты 55 секунд

    в поиске это в яндексе?
    Спустя 56 сек.
    намекаю: это форум какбы про php
    ιιlllιlllι унц-унц
  • ilma55

    Сообщения: 193 Репутация: N Группа: Кто попало

    Spritz 19 марта 2010 г. 15:17, спустя 3 минуты 9 секунд

    как в яндексе, гугле…

    мне нужна подсветка искомого слова/фразы
  • artoodetoo

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

    Spritz 19 марта 2010 г. 15:22, спустя 5 минут 13 секунд

    тебе выключатель поискать?
    ιιlllιlllι унц-унц
  • Givi

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

    Spritz 19 марта 2010 г. 15:27, спустя 4 минуты 24 секунды

    ilma55, каким боком ты подсвечиваешь те слова, которые идентичны твоему искомому?
    Думаю что заменой искового, на "болдовое" (жирное) искомое. так? Если да, то делай это функцией с регулярным выражением preg_replace(). Там, насколько помню, можно указать параметр, чтоб регистр не учитывался.
  • NRG

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

    Spritz 19 марта 2010 г. 15:27, спустя 35 секунд

    <?php
       $foundText = str_replace($searchWord, "<b>{$searchWord}</b>", $foundtext);
  • Trej Gun

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

    Spritz 19 марта 2010 г. 15:31, спустя 3 минуты 22 секунды

    NRG, str_ireplace
  • NRG

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

    Spritz 19 марта 2010 г. 15:32, спустя 1 минуту 29 секунд


    NRG, str_ireplace
    это не готовое решение, а кагбэ намек в какую сторону копать
  • ilma55

    Сообщения: 193 Репутация: N Группа: Кто попало

    Spritz 19 марта 2010 г. 15:33, спустя 34 секунды

    точнее будет str_ireplace

    но мне кажется str_ireplace заменяет все не взирая на регистр к тому варианту, который ищется

    то есть, если я ищю море, то слово Море тоже заменится на море
  • NRG

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

    Spritz 19 марта 2010 г. 15:44, спустя 11 минут 3 секунды

    ilma55, суть в том чтобы найти все вхождения "море" не взирая на регистр и обрамить их в тег <b>.
    на каком этапе у тебя проблемы ?
  • VaseninM

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

    Spritz 20 марта 2010 г. 15:43, спустя 23 часа 59 минут 3 секунды

    preg_replace()
    Спустя 154 сек.
    NRG,
    в твоем случае пусть $SearchWord = 'море'
    Во фразе "Море было, моРе будет" ищем и заменим на
    "море было, море будет"
  • NRG

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

    Spritz 20 марта 2010 г. 20:45, спустя 5 часов 2 минуты 36 секунд


    NRG,
    в твоем случае пусть $SearchWord = 'море'
    Во фразе "Море было, моРе будет" ищем и заменим на
    "море было, море будет"
    спасибо кэп!

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