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

Форум Регулярные Выражения

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

 

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

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

тема: Синонимайзер

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

 
 автор: rafonets   (06.03.2012 в 19:18)   письмо автору
 
   для: Sfinks   (06.03.2012 в 14:55)
 

Вот что и как:

А может сосиски лучше прожарить?   // Оригинал то что вы ввели
-------------------------------------- 
-------------------------------------- 
Уважаемые пользователи дальше текст нечитабельный, мы просто привлекаем поисковые системы к нашему сайту :)  // Это просто сообщение для пользователей сайта
-------------------------------------- 
А moжeT cocиckи лy4шe прoжaриTь? // Здесь русские буквы заменяем английскими 
А может сосиски лучше прожарить? // а тут результат работы рег. выражения

  Ответить  
 
 автор: Sfinks   (06.03.2012 в 14:55)   письмо автору
 
   для: rafonets   (06.03.2012 в 09:16)
 

У меня результат такой:
А может сосиски лучше прожарить?
--------------------------------------
--------------------------------------
Уважаемые пользователи дальше текст нечитабельный, мы просто привлекаем поисковые системы к нашему сайту :)
--------------------------------------
А moжeT cocиckи лy4шe прoжaриTь?
А может сосиски лучше прожарить?
не очень понятно что это

  Ответить  
 
 автор: rafonets   (06.03.2012 в 09:16)   письмо автору
 
   для: rafonets   (06.03.2012 в 09:07)
 

Может у меня компа тупит? вот ссылка http://inga-blogger.ru/synon/index.php вбейте любые слова например букву "а", и слово "адвокат", они должны синонимизироватся. Результат увидите в новом TEXTAREA снизу, последняя строка(и)

  Ответить  
 
 автор: rafonets   (06.03.2012 в 09:07)   письмо автору
 
   для: Sfinks   (05.03.2012 в 21:58)
 

Ошибки не выбило, но и preg_replace тоже не заработал
В браузере тоже UTF8

  Ответить  
 
 автор: Sfinks   (05.03.2012 в 21:58)   письмо автору
 
   для: rafonets   (05.03.2012 в 19:16)
 

Вроде все нормально. Попробуйте после подключения к БД вставить
if(!@mysql_set_charset("utf8")) exit(@mysql_error());


> Код пишу в нотепад, кодировка самого файла, UTF8
А в браузере какая кодировка выбрана, когда открываете форму для ввода заменяемой фразы?
В нотепад вы врядли пишите в юникоде.

> Я не знаю начальных кодировок, по этому не знаю как их изменить, вроде нужно через функцию iconv.
Лучше всего не менять ничего в процессе, а сразу делать все в utf-8. Намучаетесь с этим iconv. Поверьте, я спотыкался.

  Ответить  
 
 автор: rafonets   (05.03.2012 в 19:16)   письмо автору
 
   для: cheops   (05.03.2012 в 18:17)
 

Что то мозги у меня не работают, вот весь код, может поможете, что и как тут изменить: (Простите дурака =] )

<?php
  $loc_ru 
setlocale(LC_ALL'ru_RU.utf8''rus_RUS.utf8''Russian_Russia.utf8'); 
  echo 
"В этой системе русская локаль имеет имя '".$loc_ru."'";  // Локаль отображает "ru_RU.utf8"

// form

if( isset( $_REQUEST['text'] ) ){
    
$text $_REQUEST['text'];   

    
$conn mysql_connect/* Данные для подключения */ );
    
mysql_select_db/* Данные для подключения */$conn );
    
    
mysql_query"set names utf8" );    
    
$result mysql_query"SELECT * FROM syns" );
    
    while( 
$row mysql_fetch_assoc$result ) ){
        
$syns trim$row['syns'] );
        
$word trim$row['word'] );

        
$text preg_replace"/\b(" $word ")\b/iu"$syns$text );
    }
    
    
mysql_close$conn );
    
    echo 
$text;  
}


Я не знаю начальных кодировок, по этому не знаю как их изменить, вроде нужно через функцию iconv.
Код пишу в нотепад, кодировка самого файла, UTF8

  Ответить  
 
 автор: cheops   (05.03.2012 в 18:17)   письмо автору
 
   для: rafonets   (05.03.2012 в 18:14)
 

С utf8 нужно, чтобы весь ваш текст был в кодировке UTF-8 и скрипт тоже, а в регулярное выражение нужно добавить модификатор u, т.е. вместо
"/\b(" . $word . ")\b/i
писать так
"/\b(" . $word . ")\b/iu

  Ответить  
 
 автор: rafonets   (05.03.2012 в 18:14)   письмо автору
 
   для: rafonets   (05.03.2012 в 17:17)
 

Посоветовали использовать локаль ru_RU.utf8, но все равно, preg_replace не заработал

  Ответить  
 
 автор: rafonets   (05.03.2012 в 17:17)   письмо автору
 
   для: cheops   (05.03.2012 в 17:10)
 

ок

  Ответить  
 
 автор: cheops   (05.03.2012 в 17:10)   письмо автору
 
   для: rafonets   (05.03.2012 в 16:55)
 

Попробуйте службу тех.поддержки потрясти этим вопросом, возможно, на сервере какие-то другие порядки работы с русским текстом или локаль как-то хитрее называется/выставляется?

  Ответить  

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

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

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