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

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

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

 

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

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

тема: Очистка строки от ненужных символов
 
 автор: Areus   (09.10.2007 в 23:52)   письмо автору
 
 

Задача состоит в том, что в качестве name подаются названия компаний
например:
ООО компания "Пряники и бублики"
ООО Супер компания
"Классная компания"

на выходе на до получать только названия компаний

Пряники и бублики
Супер компания
Классная компания

использую

 $searchname = preg_replace("/[^\w_\.\-]/", "", $name); 


не работает

понимаю что идеально сделать нельзя, но возможно есть выход максимально увеличить количество правильных ответов

Спасибо

Роман

   
 
 автор: fire_f12   (10.10.2007 в 00:54)   письмо автору
 
   для: Areus   (09.10.2007 в 23:52)
 

если не вдоваясь в подробности может так:

<?php
$text
=strtolower($text);// все в нижний регистр
$text=str_replace("фирма","",$text); //удаляем искомое
$text=str_replace("компания","",$text);
$text=str_replace("контора","",$text);
$text=str_replace("предприятие","",$text);

$text=str_replace("ооо","",$text);
$text=str_replace("ип","",$text);
$text=str_replace("муп","",$text);
$text=str_replace("мпп","",$text);
$text=str_replace("оао","",$text);
$text=str_replace("зао","",$text);
?>

перечесляем все правовые формы их не так уж и много.

   
 
 автор: bronenos   (10.10.2007 в 01:06)   письмо автору
 
   для: fire_f12   (10.10.2007 в 00:54)
 

и останется "Классная".. не, надо регулярными
спать хочу, сам сейчас не напишу

   
 
 автор: Areus   (10.10.2007 в 09:46)   письмо автору
 
   для: bronenos   (10.10.2007 в 01:06)
 

Спасибо за совет

Кто поможет написать чтобы почистить строку от всякого рода кавычек и палочек чтобы осталось только название

   
 
 автор: Nemezis   (10.10.2007 в 13:58)   письмо автору
 
   для: Areus   (10.10.2007 в 09:46)
 

Как нибудь так:

<?php
function cleanString($string) {
   return 
ereg_replace('[^[:alnum:]+]'''$string);
}
echo 
cleanString('\\\company//|||"""""#$$%^%^&%^@softtime');
?>

   
 
 автор: kak   (11.10.2007 в 13:13)   письмо автору
 
   для: fire_f12   (10.10.2007 в 00:54)
 

.

   
 
 автор: kak   (11.10.2007 в 13:13)   письмо автору
 
   для: fire_f12   (10.10.2007 в 00:54)
 

Хочу спросить.
Имеем :

$text='     "ЗАО" "Экспресс - волга_банк \ г. Москва #### лучший=банк самые высокие% #####"'




Нужно удалить все точки, кавычки, спец символы, тире, слеши и т.п.


Заранее, Спасибо

   
 
 автор: kasmanaft   (12.10.2007 в 17:36)   письмо автору
 
   для: kak   (11.10.2007 в 13:13)
 

$text = "text";
echo $text = preg_replace("#[^а-яё.,_ -]#i", "", $text);
Оставит буквы, точки, запятые, тире, подчеркивания и пробелы... И всё, что туда добавите.
(что не нужно можно убрать)

   
 
 автор: kak   (20.10.2007 в 10:38)   письмо автору
 
   для: kasmanaft   (12.10.2007 в 17:36)
 

Спасибо.
Попробую, напишу...

   
 
 автор: kak   (31.10.2007 в 10:49)   письмо автору
 
   для: kasmanaft   (12.10.2007 в 17:36)
 

Ок,
все работает.

Вот еще вопрос.
$text='     "ЗАО" "Экспресс - волга_банк \ г. Москва #### лучший=банк самые высокие% #####"' 
echo $text = preg_replace("#[^а-яё]#i", ",", $text);

От не нужных символов избавился, решил каждое слово запятой разделить, в результате получилось

,,,,,,ЗАО,,,,,,,,,,,,,Экспресс,,,волга,банк,,,г,,Москва,,,,,,лучший,банк,самые,высокие,,,,,,,,,,,,,

Можно ли сделать, чтобы было вот так?
ЗАО, Экспресс, волга,банк, г, Москва, лучший,банк,самые,высокие

   
 
 автор: Faraon   (31.10.2007 в 11:21)   письмо автору
 
   для: kak   (31.10.2007 в 10:49)
 


<?
$text
='"ЗАО" "Экспресс - волга_банк \ г. Москва #### лучший=банк самые высокие% #####"';
$text trim(preg_replace("#[^а-яё\s]#i"""$text));
print 
preg_replace("#\s{1,}#"","$text);
?>

   
 
 автор: kak   (02.11.2007 в 18:25)   письмо автору
 
   для: Faraon   (31.10.2007 в 11:21)
 

Спасибо.
Все работает :)

   
 
 автор: kasmanaft   (31.10.2007 в 15:41)   письмо автору
 
   для: kak   (31.10.2007 в 10:49)
 

<?php
$text
='"ЗАО" "Экспресс - волга_банк \ г. Москва #### лучший=банк самые высокие% #####"'
$text preg_split("#[^а-яё]+#i"$text, -1PREG_SPLIT_NO_EMPTY); 
print 
implode(", "$text); 
?>

   
 
 автор: kak   (02.11.2007 в 18:26)   письмо автору
 
   для: kasmanaft   (31.10.2007 в 15:41)
 

Спасибо.
Все работает :)

   
Rambler's Top100
вверх

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