ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

02.11.2009, 21:39
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
PHP код:
<pre>
<?php
$text = "
<input type='text' name='n1' value='123'>
<input type='text' name='n2' value=''>
<input type='text' name='n3'>
<input type='text' name=\"n3\">
";
preg_match_all("#<input.*name='(.*)'.*value='(.*)'|<input.*name='(.*)'|<input.*name=\"(.*)\"#", $text, $out);
print_r($out);
?>
</pre>
|
|
|

03.11.2009, 12:20
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
mr.The
PHP код:
<?PHP
$text = "
<input type='text' name='n1' value='123'>
<input type='text' name='n2' value=\"asdasd\">
<input type='text' name='n3'>
<input type='text' name=\"n3\">
";
preg_match_all('#<input[^<>]*name=([\'"])(?P<name>[^<>]*?)\1([^<>]*value=([\'"])(?P<value>[^<>\4]*?)\4)?#i',$text,$result,PREG_SET_ORDER);
foreach($result as $one)
{
echo $one['name']."=".$one['value']."<br />\n";
}
?>
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

03.11.2009, 21:54
|
|
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме: 519496
Репутация:
78
|
|
Помогите с регуляркой. Нужны все записи вида
<div class="num_comms"><a href="/News/Detail/id/430450/cat/86/">
<img src="/public/upload/news/430450_finance_economy_central_bank_kursyi_valyut. jpg" alt="Новость Newsland: Центробанк повысил курсы доллара и евро" title="Центробанк повысил курсы доллара и евро">
</a>
<div class="num_comms"><a href="/News/Detail/id/430445/cat/86/">
<img src="/public/upload/news/430445_money_economy_regions_byudzhetyi.jpg" alt="Новость Newsland: Может ли регион стать банкротом?" title="Может ли регион стать банкротом?">
</a>
Cо страницы
http://newsland.ru/Index/news/cat/86/ord/1/
Пробую вот такую регулярку
PHP код:
preg_match_all('#<div class="num_comms"><a href="/News/Detail/id/(\d+)/cat/'.$simbol.'/">(\s+)<img src="(.*?)" alt="(.*?)" title="(.*?)">(\s+)</a>#is',$text,$results);
Где переменная $simbol - это номер раздела, который берется из url раздела..
|
|
|

04.11.2009, 14:01
|
|
Познающий
Регистрация: 20.02.2008
Сообщений: 82
Провел на форуме: 107625
Репутация:
2
|
|
Народ, помогите составить регулярку для preg_split (функция php, кто не в курсе).
А именно: есть текст вида
абвгде|a\|b\|c|ёжзий|клмн
Надо его разбить в массив по символу |, причём, там, где этот символ экранируется (т.е. \|) надо пропускать и идти далее.. как... хелп, уже второй день никак не получается.
Т.е. если разбить таким способом мой примерный текст, то должно быть так:
0 => абвгде
1 => a\|b\|c
2 => ёжзий
3 => клмн
Последний раз редактировалось Architek86; 04.11.2009 в 14:04..
|
|
|

04.11.2009, 14:44
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Может, так?
PHP код:
$a = preg_split ('#(?<!\\\)\|#', $str);
|
|
|

04.11.2009, 15:00
|
|
Познающий
Регистрация: 20.02.2008
Сообщений: 82
Провел на форуме: 107625
Репутация:
2
|
|
krypt3r, спс, работает на ура!
|
|
|

08.11.2009, 19:46
|
|
Участник форума
Регистрация: 14.12.2008
Сообщений: 140
Провел на форуме: 186812
Репутация:
14
|
|
здраствуйте, есть текст:
Код:
<table style="width: 100%; border: none" cellspacing="0" cellpadding="0">
<tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/9144/" class="all">Том Хэнкс</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/8887/" class="all">Робин Райт Пенн</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/3100/" class="all">Гэри Синиз</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/519/" class="all">Майкелти Уильямсон</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/13477/" class="all">Сэлли Филд</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/101656/" class="all">Ребекка Уильямс</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/101657/" class="all">Майкл Коннер Хэмпфри</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/69686/" class="all">Харольд Дж. Хертэм</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/101658/" class="all">Джордж Келли</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/8399/" class="all">Боб Пенни</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/19/film/448/" class="all">...</a></td></tr>
</table>
надо парсить все
Код:
<tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/8399/" class="all">Боб Пенни</a></td></tr>
но выдерать только все что в <a></a> внутри...
|
|
|

08.11.2009, 20:08
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
PHP код:
<pre>
<?php
$arr = '<table style="width: 100%; border: none" cellspacing="0" cellpadding="0">
<tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/9144/" class="all">Том Хэнкс</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/8887/" class="all">Робин Райт Пенн</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/3100/" class="all">Гэри Синиз</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/519/" class="all">Майкелти Уильямсон</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/13477/" class="all">Сэлли Филд</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/101656/" class="all">Ребекка Уильямс</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/101657/" class="all">Майкл Коннер Хэмпфри</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/69686/" class="all">Харольд Дж. Хертэм</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/101658/" class="all">Джордж Келли</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/4/people/8399/" class="all">Боб Пенни</a></td></tr><tr><td style="vertical-align: top; height: 15px" align=right><a href="/level/19/film/448/" class="all">...</a></td></tr>
</table>;';
preg_match_all('#<tr><td.*style.*align=right><a.*href=.*class=.*>(.*)</a></td></tr>#Uis',$arr,$res);
print_r ($res[1]);
?>
</pre>
|
|
|

08.11.2009, 20:12
|
|
Участник форума
Регистрация: 14.12.2008
Сообщений: 140
Провел на форуме: 186812
Репутация:
14
|
|
спасибо, пашет)
|
|
|

09.11.2009, 16:57
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Задача скрипта - найти в файле hosts.txt ссылку на хост, на котором запущен скрипт, и заменить её на $rstring, и вывести рандумно ссылки, но появилась какая-то загадочная проблема - на локалхосте все отлично работает, а когда залить на хост, то ничего не пашет. В чем может быть проблема?
PHP код:
<?php
$fname = 'hosts.txt';
$rstring = 'hackersite.ru';
$hosts = preg_replace('#<a href="http://www\.' . $_SERVER['HTTP_HOST'] .
'">(.*)</a>#', '<a href="http://www.' . $rstring . '">\1</a>', file($fname));
foreach (array_rand($hosts, count($hosts)) as $id)
echo $hosts[$id] . "|\r\n";
?>
hosts.txt
Код:
<a href="http://wwww.google.com">Google</a>
<a href="http://wwww.yandex.ru">Yandex</a>
<a href="http://wwww.yandex.ru">Rambler</a>
<a href="http://wwww.myhost.ru">myhost</a>
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|