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

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

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

 

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

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

тема: Вырезать справа и слева по 100 символов от нужной фразы
 
 автор: Alexx   (19.07.2006 в 13:43)   письмо автору
 
 

Не знаю как осуществить такое

Есть текст:

В 1990 году радолся в деревне ....... Вася Пупкин ...... и тогдалее 


Необходимо вырезать по 100 символов от фразы Вася Пупкин (вырезать слева и справа)

   
 
 автор: cheops   (19.07.2006 в 13:45)   письмо автору
 
   для: Alexx   (19.07.2006 в 13:43)
 

Под вырезать что подразумевается? Удалить или извлечь?

   
 
 автор: Alexx   (19.07.2006 в 14:30)   письмо автору
 
   для: cheops   (19.07.2006 в 13:45)
 

Извлечь

   
 
 автор: cheops   (19.07.2006 в 15:50)   письмо автору
 
   для: Alexx   (19.07.2006 в 14:30)
 

Если текст находится в переменной $str, то скрипт извлекающих этот текст может выглядеть следующим образом
<?php
  $pattern 
"|(.{1,100})Вася Пупкин(.{1,100})|is";
  
preg_match($pattern$str$out);
  echo 
$out[0];
?>

   
 
 автор: skor   (19.07.2006 в 17:58)   письмо автору
 
   для: cheops   (19.07.2006 в 15:50)
 

у меня задача примерно такая же...
есть текст


<?
$str 
="текст <hr> этот длинный текст укоротить <hr>и  этот длинный  текст укоротить<hr> ну и этот длинный текст укоротить))  ";
  
$pattern "|<hr>(.{1,25})|";
  
preg_match($pattern$str$out);
  echo 
$out[0];
?>


нужно текст который идет после каждого hr укорачивать ...
как это осуществить?

   
 
 автор: cheops   (19.07.2006 в 18:03)   письмо автору
 
   для: skor   (19.07.2006 в 17:58)
 

После первого <hr> или после каждого?

   
 
 автор: skor   (19.07.2006 в 18:16)   письмо автору
 
   для: cheops   (19.07.2006 в 18:03)
 

после каждого нужно....
и вся трудность втом что их количество меняется от 1 до 10

   
 
 автор: cheops   (19.07.2006 в 18:26)   письмо автору
 
   для: skor   (19.07.2006 в 18:16)
 

Между <hr> тэги какие-нибудь встречаются другие?

   
 
 автор: skor   (19.07.2006 в 18:30)   письмо автору
 
   для: cheops   (19.07.2006 в 18:26)
 

нет только <hr>текст <hr> текст <hr> текст

   
 
 автор: skor   (21.07.2006 в 17:07)   письмо автору
 
   для: skor   (19.07.2006 в 18:30)
 

Heeelp )))
Может как нибудь подругому можно это решить?

   
 
 автор: Snorri   (22.07.2006 в 14:30)   письмо автору
 
   для: skor   (21.07.2006 в 17:07)
 

не ясно что потом должно с этим текстом быть...
просто то же самое, только символов после каждого <hr> 25?

   
 
 автор: skor   (22.07.2006 в 14:35)   письмо автору
 
   для: Snorri   (22.07.2006 в 14:30)
 

да ))

   
 
 автор: Snorri   (22.07.2006 в 14:51)   письмо автору
 
   для: skor   (22.07.2006 в 14:35)
 

сейчас сам попробую...чтобы не голословно

   
 
 автор: Snorri   (22.07.2006 в 15:04)   письмо автору
 
   для: Snorri   (22.07.2006 в 14:51)
 

погоди немного
тебе не срочно?
у меня машина загружена, считает, минут на 10

   
 
 автор: Snorri   (22.07.2006 в 15:22)   письмо автору
 
   для: skor   (22.07.2006 в 14:35)
 

<?
$str 
'';/*конечная обрезанная строка, в принципе ее можно не инициализировать, но получим Notice */
$content file_get_contents("C:\hr.txt");  // файл в котором находится  текст 
$ptn "#<hr>(.{1,25})#"// шаблон
preg_match_all($ptn,$content,$out);
print_r($out); // смотрим массив, если надо , который получается
for($i=0;$i<count($out[0]);$i++)
{
    
/*  Склеиваем получившийся массив в одну строку  */
                      
$str.=$out[0][$i]; // конечная строка будет содержать <hr>
    //$str.=$out[1][$i]; //конечная строка не будет содержать <hr>

                     
echo $str;
}
?>

может, что-то не ясно?

   
 
 автор: skor   (22.07.2006 в 20:01)   письмо автору
 
   для: Snorri   (22.07.2006 в 15:22)
 

Вот спасибо что уделили время и помогли!
Все работает, а то я тут уже 3 день нечего сделать не мог... (
ОГРОМНОЕ СПАСИБО!!!!!!!!!!!!!!!!!!!

   
Rambler's Top100
вверх

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