|
|
|
|
|
для: Trianon
(26.01.2010 в 00:27)
| | Локаль пробовал вставить
setlocale(LC_ALL, 'ru_RU');
setlocale(LC_ALL, "ru-ru.koi-8r");
setlocale(LC_ALL, "ru_RU.CP1251", "Russian_Russia.1251");
по очереди - результат один. Все кроме слова "Электронный"
Попробовал на русском хостинге без локалей - все ок работает. | |
|
|
|
|
|
|
|
для: Nekifrovv
(26.01.2010 в 00:08)
| | локаль-то у Вас какая?
ru-ru.cp1251 или ru-ru.koi-8r ? | |
|
|
|
|
|
|
|
для: Николай2357
(25.01.2010 в 23:54)
| | Спасиб, есть контакт, но прикол в том, что на слово "электронный" опять не работает ) Т.е. если ищем "эл" в "Электронный" то ничего не выделится... ) Может впринципе быть в кодировке дело ?:) | |
|
|
|
|
|
|
|
для: Nekifrovv
(25.01.2010 в 23:41)
| | Ну дык в чем проблема то? Всего две строчки исправить. Убрать модификатор u в preg_match_all и mb_strlen заменить на strlen...
А лучше кодировку сменить))) | |
|
|
|
|
|
|
|
для: Trianon
(25.01.2010 в 23:26)
| | Мои нет, этот похоже да ( | |
|
|
|
|
|
|
|
для: Nekifrovv
(25.01.2010 в 23:13)
| | Necessary to use true charset | |
|
|
|
|
|
|
|
для: Nekifrovv
(25.01.2010 в 23:13)
| | скрипт-то сам в utf-8 ? | |
|
|
|
|
|
|
|
для: Николай2357
(25.01.2010 в 13:25)
| | Warning: preg_match_all() [function.preg-match-all]: Compilation failed: invalid UTF-8 string at offset 2 in test2.php on line 12 | |
|
|
|
|
|
|
|
для: Nekifrovv
(25.01.2010 в 10:23)
| | Где то здесь уже разбирали подобное. Вот так можно:
<?php
$text = 'Надо чтобы слова с заглавными буквами в результате поиска тоже выделялись жирным шрифтом. как быть?
И еще прикол, есть некоторые слова, на которые это не действует )
Например у меня все работает на "Привет мир", а на слово "Электронный" не работает ';
$pattern = "надо чтобы слова эл";
function parser($text, $pattern)
{
$arr = explode(" ", $pattern);
if(preg_match_all('#('.implode('|', array_map('preg_quote', $arr)).')#ius', $text, $out, PREG_OFFSET_CAPTURE))
{
$result = '';
$src = 0;
foreach($out[0] as $value)
{
if($value[1] > $src)
$result .= substr($text, $src, $value[1] - $src);
$src = $value[1] + mb_strlen($value[0]);
$result .= '<b style="background-color:#FFFF00">'.$value[0].'</b>';
}
$result .= substr($text, $src);
}
return $result;
}
echo parser($text, $pattern);
|
| |
|
|
|
|
|
|
|
для: Nekifrovv
(24.01.2010 в 22:16)
| | И еще прикол, есть некоторые слова, на которые это не действует ) Например у меня все работает на "Привет мир", а на слово "Электронный" не работает )
<?
setlocale(LC_ALL, 'ru_RU');
$my_string = "Электронный";
$word = "эл";
$my_string=str_ireplace("$word","<b>$word</b>","$my_string") ;
echo $my_string;
?>
|
| |
|
|
|
|