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

Форум PHP

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

 

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

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

тема: Мягкие переносы

Сообщения:  [1-2] 

 
 автор: cernos   (17.02.2006 в 18:49)   письмо автору
 
   для: cernos   (17.02.2006 в 16:11)
 

Блин забыл дать краткое описание:
Данный скрипт выполянет перенос длинных строк пользователя, не затрагивая теги!
Т.е если пользователь написал длинную строчку (слово), то этот скрипт автоматом расставит переносы!

   
 
 автор: cernos   (17.02.2006 в 16:11)   письмо автору
 
 

Вот нашел интересный скрипт думаю, что многим поможет!

/**
 * Расстановка "мягких" переносов в словах.
 * Браузеры, которые показывают их: IE 6.0.x, Opera 7.54u2
 * В Firefox 1.0.4, Opera 7.11 не работает.
 * Поддерживается текст для русского (UTF-8) и английского языков (ANSI).
 *
 * @link     http://shy.dklab.ru/newest/
 * @author   Nasibullin Rinat <rin at starlink ru>
 * @charset  ANSI
 * @version  2.0.2
 */
function hyphen_words($text)
{
    #буква (letter)
    $l = '(?:\xd0[\x90-\xbf\x81]|\xd1[\x80-\x8f\x91]  #А-я (все)
           | [a-zA-Z]
           )';
    #гласная (vowel)
    $v = '(?:\xd0[\xb0\xb5\xb8\xbe]|\xd1[\x83\x8b\x8d\x8e\x8f\x91]  #аеиоуыэюяё (гласные)
           | \xd0[\x90\x95\x98\x9e\xa3\xab\xad\xae\xaf\x81]         #АЕИОУЫЭЮЯЁ (гласные)
           | (?i:[aeiouy])
           )';
    #согласная (consonant)
    $c = '(?:\xd0[\xb1-\xb4\xb6\xb7\xba-\xbd\xbf]|\xd1[\x80\x81\x82\x84-\x89]  #бвгджзклмнпрстфхцчшщ (согласные)
           | \xd0[\x91-\x94\x96\x97\x9a-\x9d\x9f-\xa2\xa4-\xa9]                #БВГДЖЗКЛМНПРСТФХЦЧШЩ (согласные)
           | (?i:sh|ch|qu|[bcdfghjklmnpqrstvwxz])
           )';
    #специальные
    $x = '(?:\xd0[\x99\xaa\xac\xb9]|\xd1[\x8a\x8c])';   #ЙЪЬйъь (специальные)
    /*
    #алгоpитм П.Хpистова в модификации Дымченко и Ваpсанофьева
    $rules = array(
        # $1       $2
        "/($x)     ($l$l)/sx",
        "/($v)     ($v$l)/sx",
        "/($v$c)   ($c$v)/sx",
        "/($c$v)   ($c$v)/sx",
        "/($v$c)   ($c$c$v)/sx",
        "/($v$c$c) ($c$c$v)/sx"
    );
    */
    #improved rules by D. Koteroff
    $rules = array(
        # $1       $2
        "/($x)     ($l$l)/sx",
        "/($v$c$c) ($c$c$v)/sx",
        "/($v$c$c) ($c$v)/sx",
        "/($v$c)   ($c$c$v)/sx",
        "/($c$v)   ($c$v)/sx",
        "/($v$c)   ($c$v)/sx",
        "/($c$v)   ($v$l)/sx",
    );
    #\xc2\xad = &shy;
    return preg_replace($rules, "$1\xc2\xad$2", $text);
}

   

Сообщения:  [1-2] 

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

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