Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: регулярные выражения
Показать сообщение отдельно

Аватара для Ginger

Рыжая


Сообщения: 1550
Благодарности: 19

Профиль | Сайт | Отправить PM | Цитировать


вот работающий код:
Код: Выделить весь код
 
       $pres = array(); $i = 0;
       $text = preg_replace('{(<pre[^>]*?>.*</pre>)}Uesi','"UnrealPRE$i".(($pres[$i++]="$1")?"":"")', $text);
       
       $text = preg_replace("'([\r\n])[\s]+'"," ",$text);
       $done = false;
       while (!$done)
       {   $ch1 = strlen($text);
           $text = str_replace("  "," ",$text);
           $ch2 = strlen($text);
           if ($ch1==$ch2) {$done=true;} else {$done=false;}
       }

       $text = preg_replace('/UnrealPRE(\d+)/e', '$pres[$1]', $text);
единственный его баг (который выявлен на даный момент) - он вырезает слова содеержащие знак $ и сам знак отдельно.

-------
ХР, 2000, NT - BSOD (синие экраны смерти) русский перевод


Отправлено: 22:40, 07-04-2005 | #39

Название темы: регулярные выражения