ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

preg_match
  #1  
Старый 14.04.2010, 18:50
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию preg_match

помогите)

есть файл 1.txt, в нём строки типа:
Код:
<table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>Антон</td><td width=51% valign=top 3>текстовое сообщение о как</td></tr></table>

<table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>Антон1</td><td width=51% valign=top 3>текстовое сообщение о как</td></tr></table>

<table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>Антон2</td><td width=51% valign=top 3>текстовое сообщение о как</td></tr></table>

и вообщем нужно три разных прегматча чтобы можно было отдельно вытащить дату как видим 14.04.2010, отдельно вытащить имя, это Антон и вытащить само содержимое и суть в чем былобы две возможности удалить вообще эту строку от <table до </table> и изменить эти три параметра

Последний раз редактировалось rubik-nerubik; 14.04.2010 в 19:01..
 
Ответить с цитированием

  #2  
Старый 14.04.2010, 18:55
Аватар для drim
drim
Участник форума
Регистрация: 27.08.2009
Сообщений: 131
Провел на форуме:
475164

Репутация: 33
По умолчанию

используйте пареметр width=% как якорь - для разных полей его значение разное
 
Ответить с цитированием

  #3  
Старый 14.04.2010, 19:00
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию

ну так я сам хз как

п.с. я сделал якоря 1 2 и 3 может поможет
 
Ответить с цитированием

  #4  
Старый 14.04.2010, 19:07
Аватар для drim
drim
Участник форума
Регистрация: 27.08.2009
Сообщений: 131
Провел на форуме:
475164

Репутация: 33
По умолчанию

в перле как-то так
$date = $1 if $srctext =~ /width=16% valign=top><p align=center>(\d\d\.\d\d\.\d\d\d\d)</;
$name = $1 if $srctext =~ /width=18% valign=top><p align=center>(\w+)</;
$info = $1 if $srctext =~ /width=51% valign=top><p align=center>(\w+)</;

в php не подскажу, ибо лень - думайте сами
в документации описано

Последний раз редактировалось drim; 14.04.2010 в 19:11..
 
Ответить с цитированием

  #5  
Старый 14.04.2010, 19:10
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

drim, человек просит на php, а не на perl
 
Ответить с цитированием

  #6  
Старый 14.04.2010, 19:11
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию

не, в перле ненандо) да и не похоже на пхп =(
 
Ответить с цитированием

  #7  
Старый 14.04.2010, 19:13
Аватар для drim
drim
Участник форума
Регистрация: 27.08.2009
Сообщений: 131
Провел на форуме:
475164

Репутация: 33
По умолчанию

Цитата:
Сообщение от Deathdreams  
drim, человек просит на php, а не на perl
не, ну я читать умею, а хз чо ему не ясно - сам принцип или синтаксис.
я принципом я помог, как мог, ну а синтаксис - извиняйте, прийдётся и своим моском подумать чуток

ps если _очень приблизительно, то что-то вроде
preg_match($reg, $srcstring,$result);
и в одном из элементов массива $result будет искомые данные

Последний раз редактировалось drim; 14.04.2010 в 19:16..
 
Ответить с цитированием

  #8  
Старый 14.04.2010, 19:17
Аватар для dr.Web
dr.Web
Участник форума
Регистрация: 02.02.2009
Сообщений: 146
Провел на форуме:
1093500

Репутация: 43
Отправить сообщение для dr.Web с помощью ICQ
По умолчанию

PHP код:
<?



$str
='<table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>Антон</td><td width=51% valign=top 3>текстовое сообщение о как</td></tr></table>

<table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>Антон1</td><td width=51% valign=top 3>текстовое сообщение о как</td></tr></table>

<table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>14.04.2010</td><td align=center width=18% valign=top 2>Антон2</td><td width=51% valign=top 3>текстовое сообщение о как</td></tr></table>'
;

preg_match_all('/<table width=100% bgcolor=#FDFDFF width=702><td width=16% valign=top 1><p align=center>(.*)<\/td><td align=center width=18% valign=top 2>(.*)<\/td><td width=51% valign=top 3>(.*)<\/td><\/tr><\/table>/i',$str,$res);

print_r($res);

?>
держи
 
Ответить с цитированием

  #9  
Старый 14.04.2010, 19:21
Аватар для rubik-nerubik
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию

воо уже ближе dr.Web а можешь сделать чтобы каждая дата, имя были в отдельных инпутах а сообщение в textarea тут чето добавить надо вроде.. а что хз
 
Ответить с цитированием

  #10  
Старый 14.04.2010, 19:28
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

ТС сам не знаешь, что ему нужно.
Выдрать или что ?
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ