Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: str_replace Заглавные буквы

Сообщения:  [1-10]   [11-20] 

 
 автор: Nekifrovv   (26.01.2010 в 12:32)   письмо автору
 
   для: 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");
по очереди - результат один. Все кроме слова "Электронный"

Попробовал на русском хостинге без локалей - все ок работает.

  Ответить  
 
 автор: Trianon   (26.01.2010 в 00:27)   письмо автору
 
   для: Nekifrovv   (26.01.2010 в 00:08)
 

локаль-то у Вас какая?
ru-ru.cp1251 или ru-ru.koi-8r ?

  Ответить  
 
 автор: Nekifrovv   (26.01.2010 в 00:08)   письмо автору
 
   для: Николай2357   (25.01.2010 в 23:54)
 

Спасиб, есть контакт, но прикол в том, что на слово "электронный" опять не работает ) Т.е. если ищем "эл" в "Электронный" то ничего не выделится... ) Может впринципе быть в кодировке дело ?:)

  Ответить  
 
 автор: Николай2357   (25.01.2010 в 23:54)   письмо автору
 
   для: Nekifrovv   (25.01.2010 в 23:41)
 

Ну дык в чем проблема то? Всего две строчки исправить. Убрать модификатор u в preg_match_all и mb_strlen заменить на strlen...
А лучше кодировку сменить)))

  Ответить  
 
 автор: Nekifrovv   (25.01.2010 в 23:41)   письмо автору
 
   для: Trianon   (25.01.2010 в 23:26)
 

Мои нет, этот похоже да (

  Ответить  
 
 автор: Николай2357   (25.01.2010 в 23:32)   письмо автору
 
   для: Nekifrovv   (25.01.2010 в 23:13)
 

Necessary to use true charset

  Ответить  
 
 автор: Trianon   (25.01.2010 в 23:26)   письмо автору
 
   для: Nekifrovv   (25.01.2010 в 23:13)
 

скрипт-то сам в utf-8 ?

  Ответить  
 
 автор: Nekifrovv   (25.01.2010 в 23:13)   письмо автору
 
   для: Николай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

  Ответить  
 
 автор: Николай2357   (25.01.2010 в 13:25)   письмо автору
 
   для: 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$outPREG_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   (25.01.2010 в 10:23)   письмо автору
 
   для: 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;
?> 

  Ответить  

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования