Автор Тема: Копирование текста через рег. выр.  (Прочитано 3042 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kiska

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Подскажите пожалуйста как сделать копирование участка текста  между определенными тегами из htm файла. Когда я запускаю свою функцию, то она находит  их только когда они расположены в одной строке, как это исправить?

function poisk()
{
$date=date("md");
$qw=fopen(/art/$date.htm","r");
$data=file("/art/$date.htm");
$data1=preg_grep("%
(.*)%si",$data);
   if(!$data1)
   echo "Тег не найден";
else
   echo "Тег найден, текст: $data1[1]";


}:eek:

Оффлайн Alexandr

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 865
  • +0/-0
  • 0
    • Просмотр профиля
    • http://gtp.hobi.ru
Копирование текста через рег. выр.
« Ответ #1 : 10 Июля 2002, 12:57:48 »
Надо так:

function poisk() 

$date=date("md"); 
$qw=fopen(/art/$date.htm","r"); 
$data=fread($qw, filesize("/art/$date.htm"));
preg_match("
!<your_tag>(.*?)</your_tag>!si", $data$ok);
if(count(
$ok)>1) foreach($ok => $v) echo $v."

";
Kiss my CSS
Pусские gtp gp3 ( midi + tab ) -   - Все для Авто.

Оффлайн kiska

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Копирование текста через рег. выр.
« Ответ #2 : 10 Июля 2002, 13:50:02 »
Большое спасибо, я его немного подправило и теперь все работает!

Оффлайн kiska

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Копирование текста через рег. выр.
« Ответ #3 : 10 Июля 2002, 14:26:17 »
Еще один вопрос:
почему , когда я потом заношу найденное значение в файл там оказывается два одинаковых фрагмента текста?

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Копирование текста через рег. выр.
« Ответ #4 : 10 Июля 2002, 14:35:28 »
kiska
Из Мануала($matches в твоём случае это $ok):
If matches is provided, then it is filled with the results of search. $matches[0] will contain the text that matched the full pattern, $matches[1] will have the text that matched the first captured parenthesized subpattern, and so on.
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн kiska

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Копирование текста через рег. выр.
« Ответ #5 : 10 Июля 2002, 14:55:46 »
Спасибо за помощь.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28