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

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

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

 

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

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

тема: Убрать все символы, кроме знаков препинаний, английских букв, пробелов.
 
 автор: Shorr Kan   (13.02.2007 в 11:58)   письмо автору
 
 

Иначе говоря - есть большой английский текст, в нем иногда может встречаться ерунда, вроде

"the УЭЯЯї-index"

как бы убрать все, кроме запятых, точек, вопросительных и восклицательных знаков, тире, подчеркиваний, скобок, цифр и, конечно, букв английского алфавита ?

   
 
 автор: cheops   (13.02.2007 в 12:51)   письмо автору
 
   для: Shorr Kan   (13.02.2007 в 11:58)
 

Можно поступить следующим образом
<?php
  $text 
preg_replace("|[^a-z\d\s-_,.\(\)]|i"""$text);
?>

Кавычки, квадратные и фигурные скобки в тексте присутствуют?

   
 
 автор: Shorr Kan   (13.02.2007 в 12:52)   письмо автору
 
   для: cheops   (13.02.2007 в 12:51)
 

Да.
А так же - "!" и "?"

   
 
 автор: cheops   (13.02.2007 в 13:02)   письмо автору
 
   для: Shorr Kan   (13.02.2007 в 12:52)
 

Тогда регулярное выражение следует исправить
<?php 
  $text 
preg_replace("|[^a-z\d\s-_,\.\(\)\[\]\{\}\?\!'\"]|i"""$text); 
?>

   
 
 автор: Shorr Kan   (13.02.2007 в 13:30)   письмо автору
 
   для: cheops   (13.02.2007 в 13:02)
 

Да, кажется работает. Спасибо. В глазах рябит от "\"...
Только не понимаю, почему он пробелы не трогает. У меня всегда ошибка появлялась - потому что я пробел вписывал в "разрешенные" символы. А не нужно, оказывается... но каким макаром он пробел не трогает - неясно.

   
 
 автор: Trianon   (13.02.2007 в 14:02)   письмо автору
 
   для: Shorr Kan   (13.02.2007 в 13:30)
 

\s - whitespace characters - пробелы.

   
 
 автор: Shorr Kan   (13.02.2007 в 14:11)   письмо автору
 
   для: Trianon   (13.02.2007 в 14:02)
 

Понятно

   
 
 автор: maxnag   (04.05.2007 в 18:49)   письмо автору
 
   для: cheops   (13.02.2007 в 13:02)
 

Большое Вам спасибо, искал долго такое чудо-выражение, очень помогло сократить время!!!!

   
Rambler's Top100
вверх

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