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

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

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

 

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

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

тема: удаление знаков препинания
 
 автор: JonNik   (29.05.2006 в 11:28)   письмо автору
 
 

Подскажите как удалить из строки все знаки препинания, пробелы больше одного и слова короче 3 символов.

   
 
 автор: cheops   (29.05.2006 в 12:29)   письмо автору
 
   для: JonNik   (29.05.2006 в 11:28)
 

Можно поступить следующим образом
<?php
  $text 
"Подскажите как   удалить из строки все  знаки препинания, пробелы больше одного и слова короче 3 символов.";
  
// Удаляем все слова меньше 3-х символов
  
$text preg_replace("|\b[\d\w]{1,3}\b|i","",$text);
  
// Удаляем знаки припенания
  
$text preg_replace("|[^\d\w ]+|i","",$text);
  
// Удаляем лишние пробельные символы
  
$text preg_replace("|[\s]+|i"," ",$text);
  echo 
$text."<br>";
?>

   
 
 автор: JonNik   (29.05.2006 в 12:50)   письмо автору
 
   для: cheops   (29.05.2006 в 12:29)
 

Спасибо все работает. Но так как текст берется из textarea граничные слова сливаются пришлось поменять строчку:
$text = preg_replace("|[^\d\w ]+|i","",$text);
на
$text = preg_replace("|[^\d\w ]+|i"," ",$text);
и все стало ок. Осталось разобраться как все работает :)

   
Rambler's Top100
вверх

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