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

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

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

 

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

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

тема: Отфильтровать строку от ненужных символов с заменой

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

 
 автор: Deed   (02.04.2011 в 18:43)   письмо автору
 
   для: TetRiska   (02.04.2011 в 16:42)
 

С девушкой? :)
В принципе, нежадное U можно было воткнуть в каждую регулярку. Иногда чудеса случались. На машинном уровне.

  Ответить  
 
 автор: TetRiska   (02.04.2011 в 16:42)   письмо автору
 
   для: Deed   (01.04.2011 в 18:51)
 

все, решил вопрос)

  Ответить  
 
 автор: cheops   (02.04.2011 в 00:39)   письмо автору
 
   для: Deed   (02.04.2011 в 00:03)
 

Это да, согласен.

  Ответить  
 
 автор: Deed   (02.04.2011 в 00:03)   письмо автору
31.4 Кб
 
   для: cheops   (01.04.2011 в 23:09)
 

Мы немного не поняли друг друга.
Ничто не мешает делать базы на utf-8, но страницы выводить в удобном и простом windows-1251.
Я где-то год назад сделал себе тестовый сайт на платном хостинге. Он был как бы лабораторной работой, когда я интереса ради решил освоить php.
На приведенной картинке я специально для Вас написал одну и ту же фразу на разных языках и вывел ее без проблем в комментарии.

  Ответить  
 
 автор: cheops   (01.04.2011 в 23:09)   письмо автору
 
   для: Deed   (01.04.2011 в 21:18)
 

Тем более мы все в прошлой теме обговорили. Да, utf-8 тяжелый и не удобный, особенно в PHP, разработчики которого грозятся поддержкой UTF-8 на уровне ядра уже лет эдак 7 и базу данных он раздувает в два раза, а увеличение размера таблицы с 500Мб до 1Гб на производительности отражается прилично. Однако, когда нужно одним движком сохранять в одной таблице текст на разных языках и корректно его потом извлекать из базы данных (пользуясь сортировкой по ORDER BY) ничего лучше UTF-8 нет. Мы и так и так сайты многоязычные сайты разрабатывали - с UTF-8 быстрее, удобнее, надежнее (не смотря на все но).

  Ответить  
 
 автор: Deed   (01.04.2011 в 21:18)   письмо автору
 
   для: cheops   (01.04.2011 в 14:00)
 

:)
Промолчу лишь из одного уважения к Вам, cheops. Windows-1251 поддерживает даже суахили и узелковую письменность майя.
Я, к примеру, делаю MySQL на utf-8, a паги сайтов на win-1251 и НИКОГДА не было НИКАКИХ проблем.
Но молчу-молчу...

  Ответить  
 
 автор: Deed   (01.04.2011 в 18:51)   письмо автору
 
   для: TetRiska   (01.04.2011 в 16:10)
 

Вот именно, "долбаный утф!"
И страницы тяжелее, и нюансов тьма. Никому не нужных нюансов!

Вообще-то, утф - это как привести девушку домой и не знать потом, что с ней делать.

  Ответить  
 
 автор: TetRiska   (01.04.2011 в 16:10)   письмо автору
 
   для: TetRiska   (01.04.2011 в 13:53)
 

в общем сделал очистку и еще ко всем вопрос - как бы можно упростить? а то пришлось делать массив, чтобы проставить тире вместо пробелов, которые были в строке
$text = "&quot;fff/\\\ \&nbsp;ааа68 9= quota . •_  <br>  <br/>`~1!2@3#4$5%6^7&8*9(0)_-)=+\|{[}]':;?.&lt;,   ^ {[ lol \ \яяявс12hEEllo0o+_-)(*&^%$#@!~`«»—•— —  —– – -- - &quot; &mdash;&ndash; &ndash; ?% % №";

$replace = array(
  "а"=>"a","б"=>"b","в"=>"v","г"=>"g","ґ"=>"g","д"=>"d",
  "е"=>"e","є"=>"e","ё"=>"e","ж"=>"zh","з"=>"z","и"=>"i",
  "і"=>"i","ї"=>"i","й"=>"i","к"=>"k","л"=>"l","м"=>"m","н"=>"n",
  "о"=>"o","п"=>"p","р"=>"r","с"=>"s","т"=>"t","у"=>"u",
  "ф"=>"f","х"=>"h","ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch",
  "ъ"=>"","ы"=>"y","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya", "ей"=>"yei"
);

$text = strip_tags($text);
$text = strtr(mb_strtolower($text,"UTF-8"),$replace);
$text = preg_replace("|&[a-z]+;|is", "", $text);
$text = preg_replace("|[^a-z0-9 ]|is", "", $text);

$mass = explode(" ",trim($text));
$count = count($mass);
$p = 0;
for($i=0;$i<$count;$i++){
    $p++;
    $add = ($p !=  $count)?"-":"";
    if($mass[$i] != ''){
        $text2 .= $mass[$i].$add;
    }
}

echo $text2;

долгожданный результат
fff-aaa68-9-quota-1234567890-lol-yayayavs12heello0o

  Ответить  
 
 автор: TetRiska   (01.04.2011 в 14:29)   письмо автору
 
   для: cheops   (01.04.2011 в 14:00)
 

нам на сайте не нужна поддержка нескольких языков, но всеже, буду дальше парится с этой ф-цией по очистке строки :(

  Ответить  
 
 автор: cheops   (01.04.2011 в 14:00)   письмо автору
 
   для: TetRiska   (01.04.2011 в 13:44)
 

Поддержкой нескольких языков на одном сайте.

  Ответить  

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

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

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