Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

14.04.2010, 18:50
|
|
Участник форума
Регистрация: 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..
|
|
|

14.04.2010, 18:55
|
|
Участник форума
Регистрация: 27.08.2009
Сообщений: 131
Провел на форуме: 475164
Репутация:
33
|
|
используйте пареметр width=% как якорь - для разных полей его значение разное
|
|
|

14.04.2010, 19:00
|
|
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме: 409147
Репутация:
33
|
|
ну так я сам хз как
п.с. я сделал якоря 1 2 и 3 может поможет
|
|
|

14.04.2010, 19:07
|
|
Участник форума
Регистрация: 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..
|
|
|

14.04.2010, 19:10
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
drim, человек просит на php, а не на perl
|
|
|

14.04.2010, 19:11
|
|
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме: 409147
Репутация:
33
|
|
не, в перле ненандо) да и не похоже на пхп =(
|
|
|

14.04.2010, 19:13
|
|
Участник форума
Регистрация: 27.08.2009
Сообщений: 131
Провел на форуме: 475164
Репутация:
33
|
|
Сообщение от Deathdreams
drim, человек просит на php, а не на perl
не, ну я читать умею, а хз чо ему не ясно - сам принцип или синтаксис.
я принципом я помог, как мог, ну а синтаксис - извиняйте, прийдётся и своим моском подумать чуток
ps если _очень приблизительно, то что-то вроде
preg_match($reg, $srcstring,$result);
и в одном из элементов массива $result будет искомые данные
Последний раз редактировалось drim; 14.04.2010 в 19:16..
|
|
|

14.04.2010, 19:17
|
|
Участник форума
Регистрация: 02.02.2009
Сообщений: 146
Провел на форуме: 1093500
Репутация:
43
|
|
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);
?>
держи
|
|
|

14.04.2010, 19:21
|
|
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме: 409147
Репутация:
33
|
|
воо уже ближе dr.Web а можешь сделать чтобы каждая дата, имя были в отдельных инпутах а сообщение в textarea тут чето добавить надо вроде.. а что хз
|
|
|

14.04.2010, 19:28
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
ТС сам не знаешь, что ему нужно.
Выдрать или что ?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|