|
0 Всего найдено: 3
taurus_f
Сообщение
21/05/2010 09:07
Копия темы
Подскажите с поиском русских слов в тексте не взирая на регистр На данный момент имеется код типо: $serch = 'jgnjfsdnhjknjsТекСТтексТрыапррпар'; $fool_text = 'Текст'; $serch = mb_strtolower($serch); $fool_text = mb_strtolower($fool_text); $fool_text=str_replace($serch , "<strong>$serch</strong>", $fool_text); echo $fool_text; Результат: jgnjfsdnhjknjsтексттекстрыапррпар а нужен: jgnjfsdnhjknjsТекСТтексТрыапррпар то есть с сохранением регистра исходного текста ps: первоначально, забив на поиск слов с другим регистром, отличным от поискового использовал $fool_text=preg_replace("$serch, '<strong>\0</strong>', $fool_text); i не помогает в русской кодировке (перебрал все варианты ее подгона во всем скрипте под одну, ну может не все =) ) \0 теперь в str_replace не работает, что тоже не радует. pps: не хочется создавать дополнительный цикл с определением координат слов в измененном тесте, поиском их в исходном и дальнейшим их выделением. Может есть что-то проще?
DrSun
Сообщение
23/05/2010 06:16
Копия темы
В вашем коде, естественно, все переходит в нижний регистр (mb_strtolower). Первое, что приходит на ум делаем $fool_text2=str_ireplace($serch , "|", $fool_text); затем explode $fool_text2 на две части по разделителю | и потом из исходного текста str_ireplace этих двух частей в итоге получили кусок текста, который в верхнем регистре и который искался :)) ну и потом заменяйте полученный кусок уже стронгом Это очень глупо, на самом деле, я понимаю. Вообще, следует копать регулярные выражения, почему с русским не работает может локаль не та стоит или еще что.
RiDDi
Сообщение
23/05/2010 16:51
Копия темы
0
а чего i должно помогать-то? )) за кодировку оно не отвечает ;) используйте регулярные выражения и не занимайтесь фигней. |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |