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

06.09.2009, 20:15
|
|
Участник форума
Регистрация: 13.02.2007
Сообщений: 205
Провел на форуме: 928552
Репутация:
55
|
|
А как регуляркой выразить md5 хеш? То есть на странице находится много md5 хешей маски [a-f0-9]{32}... Надо их все собрать...
Регулярки пытаюсь осваивать, но очень много вопросов пока...
Последний раз редактировалось Linuxoid; 06.09.2009 в 20:21..
|
|
|

06.09.2009, 20:26
|
|
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме: 12942062
Репутация:
1550
|
|
PHP код:
<?php
$str="тут страница";
preg_match_all("|([a-f0-9]{32})|is", $str, $ret);
print_r($ret);
?>
|
|
|

06.09.2009, 22:37
|
|
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
Провел на форуме: 975514
Репутация:
177
|
|
как из текста удалить все комментарии вида /* */ ?
комментарии могут быть такими: /** /* /*** * /*ф* ***/
кое-что уже пробовал:
~/\*{2,}/~
~/\*+(.*?)*\*+/~s
первое удаляет это: /****/ второе удаляет все остальные случаи..
но как-то я не совсем уверен в 100% работоспособности
может кто подскажет способ получше?
и объясните пожалуйста, что означает ".*?" ?
|
|
|

07.09.2009, 23:11
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от imajo.ati
может кто подскажет способ получше?
Тебе нужен парсер. Если, конечно, в твои планы не входит бить код, потому что регулярные выражения всё равно будут фейлить.
Пример:
Код:
$pictures = glob('images/*');
/* Комментарий */
process($pictures);
|
|
|

07.09.2009, 00:20
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
imajo.ati
PHP код:
preg_replace('#\s/\*[\s\S]*\*/\s#U','',$str);
http://ru.wikipedia.org/wiki/Regexp - читать раздел "жадная и ленивая квантификация"
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
Последний раз редактировалось Gifts; 07.09.2009 в 19:35..
|
|
|

07.09.2009, 19:13
|
|
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
Провел на форуме: 975514
Репутация:
177
|
|
Сообщение от Gifts
imajo.ati
PHP код:
preg_replace('#\s/\*[\s\S]*\*/\s#','',$str);
http://ru.wikipedia.org/wiki/Regexp - читать раздел "жадная и ленивая квантификация"
PHP код:
<?php
$str = '/* hello */ world! /* 123 */';
echo preg_replace('#\s/\*[\s\S]*\*/\s#','',$str);
?>
твой регэксп не работает, не удаляет ничего.
за жадную квантификацию спасибо, уже читаю.
|
|
|

07.09.2009, 19:35
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
imajo.ati Перед и после - желательно чтобы стоял пробельный символ:
PHP код:
$str = ' asddasd asd asd sd sads ad asdas a /* hello */ world! /* 123 */ asds adsa dasdas das';
echo preg_replace('#\s/\*[\s\S]*?\*/\s#','',$str);
Но можно и без него ессесн:
PHP код:
$str = '/* hello */ world! /* 123 */';
echo preg_replace('#/\*[\s\S]*?\*/#','',$str);
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

07.09.2009, 19:40
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
PHP код:
<?php
$text = '
/*
абабаббабаб
*/
тут код проги
/** ещё один камент **/
текст
/***
ещё один глупый камент
***/
здесь могла быть ваша реклама!';
$result = preg_replace('/(\/\*.*?\*\/)*/ims', '', $text);
echo($result);
?>
мой вариант +)
|
|
|

08.09.2009, 10:05
|
|
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
Провел на форуме: 975514
Репутация:
177
|
|
astrologer,
спасибо за замечание, я уже был в курсе этого, когда просил регулярное выражение.
в планы входит сначала заменить все строки в тексте на что-то такое:
%STRING_000001_(md5_заменённой_стро и)_(случайное_число_прохода _парсера)%
а потом удалить все комментарии.
может быть выскажешь свои мысли по этому поводу? будет ли это работать?
|
|
|

09.09.2009, 01:10
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от imajo.ati
в планы входит сначала заменить все строки в тексте на что-то такое:
%STRING_000001_(md5_заменённой_стро и)_(случайное_ число_прохода_парсера)%
а потом удалить все комментарии.
Не получится, причём по той же причине (выяснение которой, как всегда, остается читателю).
P.S.
Код:
~/[*](?:[^*]++|[*](?![*]))*[*]/~
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|