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

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

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

 

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

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

тема: Разбор текста
 
 автор: Елена Смирнова   (12.04.2008 в 22:46)   письмо автору
 
 

Помогите написать регулярку...
Есть текстовой файл, в нем записи вида

<br/>
Тормозняк,
<p>
Kisuly,
REDBOS,
romaperm,
Перец88,
Nemestnaya,
*StrangeR*,
empty,
Федя 87,
МонаЛиза,
Лукойл,
Умник,
belomorka,

среди этого текста встречаются разные теги и ссылки.
Мне нужно вывести только

Тормозняк
Kisuly
REDBOS
romaperm
Перец88
Nemestnaya
*StrangeR*
empty
Федя 87
МонаЛиза
Лукойл
Умник
belomorka

только буквы русские и английские и символы @ * ) ( ? ! - ~ ] [ =.
Возможно ли такое?
Заранее спасибо откликнувшимся!

   
 
 автор: ddhvvn   (12.04.2008 в 23:08)   письмо автору
 
   для: Елена Смирнова   (12.04.2008 в 22:46)
 

Легче сделать так:

<?php
$text 
strip_tags($text);
?>

   
 
 автор: Елена Смирнова   (12.04.2008 в 23:40)   письмо автору
 
   для: ddhvvn   (12.04.2008 в 23:08)
 

Но тогда останутся запятые и т.д.
Да плюс мне это надо будет в БД записать
Вообщем нужна регулярка

   
 
 автор: cheops   (13.04.2008 в 00:21)   письмо автору
 
   для: Елена Смирнова   (12.04.2008 в 22:46)
 

Можно отталкиваться от следующего скрипта
<?php
  $text 
'Kisuly, 
REDBOS, 
romaperm, 
Перец88, 
Nemestnaya, 
*StrangeR*, 
empty, 
Федя 87, 
МонаЛиза, 
Лукойл, 
Умник, 
belomorka,'
;
  
$pattern "|[^a-zа-яё@\*\)\(\?\!\-\~\]\[=\s]+|is";
  
$text preg_replace($pattern""$text);
  echo 
$text;
?>

PS Оставил ещё пробельные символы (\s) - иначе сольётся всё.

   
 
 автор: Елена Смирнова   (13.04.2008 в 20:25)   письмо автору
 
   для: cheops   (13.04.2008 в 00:21)
 

Спасибо, получается... Но как мне загнать это все в массив, чтобы вывести столбиком и потом записать в БД
---
Да и еще как убрать лишние пробелы в тексте? Тока не все... а длинные пробелы...

   
 
 автор: cheops   (13.04.2008 в 23:58)   письмо автору
 
   для: Елена Смирнова   (13.04.2008 в 20:25)
 

Можно отталкиваться от следующего скрипта (формирование массива)
<?php 
  $text 
'Kisuly,  
REDBOS,  
romaperm,  
Перец88,  
Nemestnaya,  
*StrangeR*,  
empty,  
Федя 87,  
МонаЛиза,  
Лукойл,  
Умник,  
belomorka,'

  
// Удаляем лишние символы
  
$pattern "|[^a-zа-яё@\*\)\(\?\!\-\~\]\[=\s]+|is"
  
$text preg_replace($pattern""$text); 
  
// Удаляем лишние пробелы и символы табуляции
  
$text preg_replace("|[ \t]+|"" "$text);
  
// Разбиваем содержимое $text - формируем массив
  
$arr preg_split("|[\r\n]+|"$text);
  
// Выводим дамп массива
  
echo "<pre>";
  
print_r($arr); 
  echo 
"</pre>";
?>

   
Rambler's Top100
вверх

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