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

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

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

 

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

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

тема: замена спец символов

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

 
 автор: Евгений Петров   (14.09.2005 в 17:29)   письмо автору
 
   для: P@Sol   (14.09.2005 в 16:44)
 

А что не работает? У меня вроде работает, попробуй:
<?
  $text 
preg_replace("/[^ a-zа-я0-9]+/i","",$text);
?>

   
 
 автор: P@Sol   (14.09.2005 в 16:44)   письмо автору
 
   для: P@Sol   (09.09.2005 в 17:13)
 

заменил

$text = preg_replace("/[^0-9a-zA-Z\-\xC0-\xFF&ёЁ]+/", "", $text); 


$text = preg_replace("/[^A-Za-zА-Яа-я0-9]+/","",$text); 

работать перестало

   
 
 автор: P@Sol   (14.09.2005 в 16:33)   письмо автору
 
   для: Artem S.   (14.09.2005 в 16:26)
 

если есть фраза "Я готов!" и из нее получить "я-готов", а не "я-готов-".

а вторую строку я сам пока не понял...

Добавлено
вторая строка, наверно чтобы "---" не было:)

   
 
 автор: Евгений Петров   (14.09.2005 в 16:29)   письмо автору
 
   для: P@Sol   (14.09.2005 в 16:24)
 

Логика у тебя железная. :) Просто там в конце после "-" стоит плюс который показывает что таких совпадений может быть один и более.

   
 
 автор: Artem S.   (14.09.2005 в 16:26)   письмо автору
 
   для: P@Sol   (14.09.2005 в 16:19)
 

>> -\xC0-\xFF&ёЁ - что это такое??
Это закодированные русские буквы. Любой символ имеет 16 код. Это он и есть
>> и что происходит во второй и третьей строке?
$text = preg_replace("/[\-_]+/", "-", $text)
Полседовательность из подчеркиваний, слеша и тире заменяется на один символ тире
$text = preg_replace("/-+$/", "", $text);
Последовательность из тире в конце строки удаляется.

Смысла в двух последний выражений я не вижу.

   
 
 автор: P@Sol   (14.09.2005 в 16:24)   письмо автору
 
   для: Евгений Петров   (14.09.2005 в 16:22)
 

а где это сказано? (про то что если их 5, то они удалятся?)

по логике если из 5 удалить один последний, то 4-ый символ станет последним и удалится и т.д.:) но может это еще и в коде отмечено?

   
 
 автор: P@Sol   (14.09.2005 в 16:22)   письмо автору
 
   для: Евгений Петров   (14.09.2005 в 16:13)
 

не все символы перечислил:) еще есть #%$^&*@

   
 
 автор: Евгений Петров   (14.09.2005 в 16:22)   письмо автору
 
   для: P@Sol   (14.09.2005 в 16:19)
 

Да причем если этих "-" будет один и больше то они удалятся все.

   
 
 автор: P@Sol   (14.09.2005 в 16:19)   письмо автору
 
   для: P@Sol   (14.09.2005 в 16:17)
 

в третьей строке: если "-" в конце строки то его удалить. правильно я понял?

   
 
 автор: P@Sol   (14.09.2005 в 16:17)   письмо автору
 
   для: Artem S.   (14.09.2005 в 16:16)
 

-\xC0-\xFF&ёЁ - что это такое??
и что происходит во второй и третьей строке?

   

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

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

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