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

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

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Транслитизация
 
 автор: Unkind™   (25.08.2006 в 02:39)   письмо автору
 
 

Когда пользователь транслитирует текст (из "slovo" в "слово"), то выходит, что кусок текста со смайлом тоже транлитируется...Нельзя с помощью регулярных выражений часть текста не транслитировать?
Например те слова, то на латинском маленькими буквами и с обоих сторон точки, т.е. например
.smile.

   
 
 автор: Unkind™   (25.08.2006 в 10:09)   письмо автору
 
   для: Unkind™   (25.08.2006 в 02:39)
 

Или хотя бы, чтобы, транслитировались только слова вида .смайл.

   
 
 автор: ec_stasis   (25.08.2006 в 10:27)   письмо автору
 
   для: Unkind™   (25.08.2006 в 10:09)
 

Че-то я ничего не понял...

   
 
 автор: cheops   (25.08.2006 в 11:44)   письмо автору
 
   для: Unkind™   (25.08.2006 в 02:39)
 

Приведите код, которым вы производите преобразование и какой формат имеют смайлики?

   
 
 автор: Unkind™   (25.08.2006 в 12:03)   письмо автору
 
   для: cheops   (25.08.2006 в 11:44)
 


<?php
//Транслитизация
$msg stripslashes($msg);

    if(
$_POST['translit'] == "true")
    {
    
$msg str_replace("\"\"""Ъ"$msg);
    
$msg str_replace("\"""ъ"$msg);
    
$msg str_replace("''""Ь"$msg);
    
$msg str_replace("'""ь"$msg);

    
$lat = array("CH""ch""SC""sc""YE""ye""YU""yu""YA""ya""YO""yo");
    
$rus = array("Ч""ч""Щ""щ""Э""э""Ю""ю""Я""я""Ё""ё");
    
$msg str_replace($lat$rus$msg);

    
$lat = array("A""a""B""b""C",
 
"c""D""d""E""e""F""f""G"
"g""H""h""I""i""J""j""K"
"k""L""l""M""m""N""n""O"
"o""P""p""R""r""S""s""T"
"t""U""u""V""v""H""h""Z"
"z""W""w""X""x""Y""y");
    
$rus = array("А""а""Б""б""Ц"
"ц""Д""д""Е""е""Ф""ф""Г"
"г""Х""х""И""и""Ж""ж""К"
"к""Л""л""М""м""Н""н""О"
"о""П""п""Р""р""С""с""Т"
"т""У""у""В""в""Х""х""З"
"з""Ш""ш""Ы""ы""Й""й");
    
$msg str_replace($lat$rus$msg);
    }

$msg htmlspecialchars($msg);

//Массив текстов для вызова смайла
$smiles_array = array("'\.smile\.'""'\.smile2\.'");
//Массив смайлов
$smile = array("<img src=\"smiles/001.gif\" alt=\"smile\"/>""<img src=\"smiles/002.gif\" alt=\"smile2\"/>");

//Добавление смайлов
$msg preg_replace($smiles_array$smile$msg2);
?>


То есть если транлист включен, то вот смайлы не получается сделать.

   
Rambler's Top100
вверх

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