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

28.02.2010, 13:28
|
|
Новичок
Регистрация: 16.02.2010
Сообщений: 9
Провел на форуме: 42943
Репутация:
0
|
|
Есть файл в html, мне нужно выделить строки в которых встречается код "ei"
выделяю - .*"ei".*
А теперь мне нужно удалить все строки кроме указаных выше. Сколько перечитал нигде не могу найти как это сделать, помогите знатоки.
|
|
|

02.03.2010, 22:27
|
|
Участник форума
Регистрация: 15.01.2009
Сообщений: 158
Провел на форуме: 469704
Репутация:
26
|
|
Помогите составить регулярку. Мне нужно распарсить со страницы номера телефонов:
Код HTML:
<br />(4932) 49-02-45, 45-51-07<br />
<br />49-02-45, 45-51-07<br />
<br />(4932) 490-245, 455-107<br />
<br />490-245, 455-107<br />
Это 4 разных примера встречающихся на страницах. Пытался выдернуть с помощью:
|/\((\d{3,5})\)\s+(\d{2}-\d{2}-\d{2})/|is
Но толку нет. Поскажите.
|
|
|

02.03.2010, 23:06
|
|
Участник форума
Регистрация: 31.01.2010
Сообщений: 170
Провел на форуме: 1442841
Репутация:
63
|
|
Komyak
PHP код:
<?php
$text="<br />(4932) 49-02-45, 45-51-07<br />
<br />49-02-45, 45-51-07<br />
<br />(4932) 490-245, 455-107<br />
<br />490-245, 455-107<br />";
echo strip_tags($text);
?>
|
|
|

03.03.2010, 16:30
|
|
Участник форума
Регистрация: 15.01.2009
Сообщений: 158
Провел на форуме: 469704
Репутация:
26
|
|
Compton, нужна именно регулярка. Я указал примеры между тегами <br/>, так номера всегда расположены между ними- а strip_tags все теги но оставит кучу мусора в виде стороннего текста.
|
|
|

03.03.2010, 22:07
|
|
Новичок
Регистрация: 16.02.2010
Сообщений: 9
Провел на форуме: 42943
Репутация:
0
|
|
Сообщение от Komyak
Compton, нужна именно регулярка. Я указал примеры между тегами <br/>, так номера всегда расположены между ними- а strip_tags все теги но оставит кучу мусора в виде стороннего текста.
Держи - /(?!:\A|\s)(?!(\d{1,6}\s+\D)|((\d{1,2}\s+){2,2}))(( (\+\d{1,3})|(\(\+\d{1,3}\)))\s*)?((\d{1,6})|(\(\d{ 1,6}\)))\/?(([ -.]?)\d{1,5}){1,5}((\s*(#|x|(ext))\.?\s*)\d{1,5})?(?!  \Z|\w|\b\s))/gm - только без запятых выдернет.  - вместо смайла, ну ты понял 
Последний раз редактировалось Palanik; 03.03.2010 в 22:11..
|
|
|

04.03.2010, 10:10
|
|
Участник форума
Регистрация: 31.01.2010
Сообщений: 170
Провел на форуме: 1442841
Репутация:
63
|
|
регулярки за 100500 строк
Komyak,добавь перед первым < /br> еще тег и после последнего < /br>,допусти это <p> и </p>
потом вот так
PHP код:
preg_match('/<p>(.*)<\/p>/',$text,$m); echo strip_tags($m[1]);
|
|
|

07.03.2010, 14:31
|
|
Познающий
Регистрация: 13.08.2009
Сообщений: 92
Провел на форуме: 441444
Репутация:
1
|
|
<span style="color:#777777;"><a class='addAudioLink' href="" onclick="addAudio(this, {act:'a_add',add:1,gid:0,aid:73997023,oid:66812379 ,hash:'4284ff74a2fa5248ba79500ef5f9388c'});return false;">Добавить</a></span>
Как из этой строки вытащить aid, oid и hash?
|
|
|

07.03.2010, 15:05
|
|
Новичок
Регистрация: 02.02.2010
Сообщений: 24
Провел на форуме: 72815
Репутация:
1
|
|
Код:
import re
h = """<span style="color:#777777;"><a class='addAudioLink' href="" onclick="addAudio(this, {act:'a_add',add:1,gid:0,aid:73997023,oid:66812379 ,hash:'4284ff74a2fa5248ba79500ef5f9388c'});return false;">Добавить</a></span>"""
j = re.search("aid:(?P<aid>\d+),oid:(?P<oid>\d+) ,hash:'(?P<hash>\w+)'", h)
print j.groups()
Код:
('73997023', '66812379', '4284ff74a2fa5248ba79500ef5f9388c')
Или вот так на Perl:
Код:
#!/usr/bin/perl
$h = <<EOF;
<span style="color:#777777;"><a class='addAudioLink' href="" onclick="addAudio(this, {act:'a_add',add:1,gid:0,aid:73997023,oid:66812379 ,hash:'4284ff74a2fa5248ba79500ef5f9388c'});return false;">Добавить</a></span>
EOF
$h =~ /aid:(\d+),oid:(\d+) ,hash:'(\w+)'/;
print "aid: $1\n";
print "oid: $2\n";
print "hash: $3\n";
Код:
aid: 73997023
oid: 66812379
hash: 4284ff74a2fa5248ba79500ef5f9388c
С PHP знаком плохо, но:
Код:
<?php
$s = <<<EOF
<span style="color:#777777;"><a class='addAudioLink' href="" onclick="addAudio(this, {act:'a_add',add:1,gid:0,aid:73997023,oid:66812379 ,hash:'4284ff74a2fa5248ba79500ef5f9388c'});return false;">Добавить</a></span>
EOF;
preg_match_all("/aid:(?<aid>\d+),oid:(?<oid>\d+) ,hash:'(?<hash>\w+)'/", $s, $m);
echo "<p>aid: " . $m["aid"][0] . "</p>";
echo "<p>oid: " . $m["oid"][0] . "</p>";
echo "<p>hash: " . $m["hash"][0] . "</p>";
?>
Код:
aid: 73997023
oid: 66812379
hash: 4284ff74a2fa5248ba79500ef5f9388c
Последний раз редактировалось expee; 07.03.2010 в 16:23..
|
|
|

07.03.2010, 16:01
|
|
Познающий
Регистрация: 13.08.2009
Сообщений: 92
Провел на форуме: 441444
Репутация:
1
|
|
чёт не выходит.. пробую на php сделать...
PHP код:
<?php
$string = "<span style='color:#777777;'><a class='addAudioLink' href='' onclick='addAudio(this, {act:'a_add',add:1,gid:0,aid:73997023,oid:66812379 ,hash:'4284ff74a2fa5248ba79500ef5f9388c'});return false;'>Добавить</a></span>";
preg_match_all("/aid:(\d+),oid:(\d+) ,hash:'(\w+)'/", $string, $arr);
echo $arr;
?>
в чём проблема?
|
|
|

07.03.2010, 16:24
|
|
Новичок
Регистрация: 02.02.2010
Сообщений: 24
Провел на форуме: 72815
Репутация:
1
|
|
чёт не выходит.. пробую на php сделать...
Обновил предыдущий пост.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|