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

03.12.2009, 21:56
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
PHP код:
<?php
$fp = file_get_contents('http://mail.ru/');
if(preg_match_all('#<a.*>(.*)</a>#',$fp, $matches))
{
foreach ($matches[1] as $link) {
echo $link.'<br>';
}
}
?>
|
|
|

04.12.2009, 22:21
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 138
Провел на форуме: 201522
Репутация:
18
|
|
Нужно переменную полностью оставить, а только лишь удалить тег <a href..></a>
А с помощью strip_tags() можно удалить только тег ссылки, а все другие оставить?
|
|
|

04.12.2009, 23:54
|
|
Познающий
Регистрация: 30.11.2009
Сообщений: 97
Провел на форуме: 333264
Репутация:
80
|
|
Не знаю, как в PHP, но в Python это делается так:
Код:
import re
print re.sub('<a href=".+">(?P<text>.*?)</a>', '\g<text>', 'Hello, World! <a href="gasgasg">Text</a> HAHA!')
Получаем следующее:
|
|
|

05.12.2009, 12:41
|
|
Участник форума
Регистрация: 01.08.2009
Сообщений: 183
Провел на форуме: 1483264
Репутация:
131
|
|
Есть список доменов, в файле.
Нужно зону домену в виде:
Таблица такая:
sdfsdf.com
sdfsdfff.com
loool.es
asdsdf.es
Нужно чтобы получилось:
sdfsdf.com .com
sdfsdfff.com .com
loool.es .es
asdsdf.es .es
Т.е. дописывать через несколько пробелов зону домена. Спасибо 
|
|
|

05.12.2009, 13:48
|
|
Познающий
Регистрация: 30.11.2009
Сообщений: 97
Провел на форуме: 333264
Репутация:
80
|
|
Читаешь файл полностью, а затем заменяешь по ругулярке. У меня на Python получилось так:
Код:
import re
re.sub('(?P<domain>.*?)(?P<zone>\.\w+)\n', '\g<domain>\g<zone> \g<zone>\n', text)
Здесь <domain> - все что до .es, а <zone> - как раз .es.
Вполне вероятно, что можно сделать лучше 
|
|
|

05.12.2009, 14:49
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Сообщение от programming
Нужно переменную полностью оставить, а только лишь удалить тег <a href..></a>
А с помощью strip_tags() можно удалить только тег ссылки, а все другие оставить?
PHP код:
<?php
$str = '<a href="url" target="_blank" name="userurl">desc</a>';
echo preg_replace('#<a.*>(.*)</a>#','$1',$str);
?>
Насчет strip_tags()
можно удалить только тег ссылки, а все другие оставить?
Можно но наоборот, удалить все теги кроме тех которые в :
string strip_tags ( string $str [, string $allowable_tags ] )
$allowable_tags
Пример:
PHP код:
<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
// Allow <p> and <a>
echo strip_tags($text, '<p><a>');
?>
Результат:
Test paragraph. Other text <p>Test paragraph.</p> <a href="#fragment">Other text</a>
ЗЫ вообще все ето можно найти на php.net
|
|
|

06.12.2009, 00:42
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме: 9257858
Репутация:
979
|
|
Имеються html файлы.
http://site.ru/hh-html.html
http://site.ru/zz-ggsdas.html
http://site.ru/zz-ggsdas.html
Как сделать ссылки вида:
http://site.ru/hh/html.html
http://site.ru/zz/html.html ?
|
|
|

06.12.2009, 01:21
|
|
Познающий
Регистрация: 30.11.2009
Сообщений: 97
Провел на форуме: 333264
Репутация:
80
|
|
rushter, это опечатался, или везде должно быть html.html? Если да, то вот на python:
Код:
import re
i = '''http://site.ru/hh-html.html
http://site.ru/zz-ggsdas.html
http://site.ru/zz-ggsdas.html'''
print re.sub('(?P<pre>\w{2})-.+\.html', '\g<pre>/html.html', i)
Результат:
http://site.ru/hh/html.html
http://site.ru/zz/html.html
http://site.ru/zz/html.html
Если все-же нужно получить такое же имя файла, то:
Код:
import re
i = '''http://site.ru/hh-html.html
http://site.ru/zz-ggsdas.html
http://site.ru/zz-ggsdas.html'''
print re.sub('(?P<pre>\w{2})-(?P<name>.+)\.html', '\g<pre>/\g<name>.html', i)
Результат:
http://site.ru/hh/html.html
http://site.ru/zz/ggsdas.html
http://site.ru/zz/ggsdas.html
А вообще это смотреть нужно. Например, если тебе нужно то же имя файла, что и было и при этом дефис больше нигде не встречается, то можно просто по тексту заменить:
Код:
print i.replace('-', '/')
И вот что выйдет:
http://site.ru/hh/html.html
http://site.ru/zz/ggsdas.html
http://site.ru/zz/ggsdas.html
|
|
|

06.12.2009, 02:22
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме: 9257858
Репутация:
979
|
|
Сообщение от whexp
rushter, это опечатался, или везде должно быть html.html? Если да, то вот на python:
Код:
import re
i = '''http://site.ru/hh-html.html
http://site.ru/zz-ggsdas.html
http://site.ru/zz-ggsdas.html'''
print re.sub('(?P<pre>\w{2})-.+\.html', '\g<pre>/html.html', i)
Результат:
Если все-же нужно получить такое же имя файла, то:
Код:
import re
i = '''http://site.ru/hh-html.html
http://site.ru/zz-ggsdas.html
http://site.ru/zz-ggsdas.html'''
print re.sub('(?P<pre>\w{2})-(?P<name>.+)\.html', '\g<pre>/\g<name>.html', i)
Результат:
А вообще это смотреть нужно. Например, если тебе нужно то же имя файла, что и было и при этом дефис больше нигде не встречается, то можно просто по тексту заменить:
Код:
print i.replace('-', '/')
И вот что выйдет:
Ну как бы регулярки я и сам могу составить,мне нужно правило для mod_rewrite.
ggsdas - динамическое.
У меня есть куча html файлов с такими именами,мне нужно сделать вид как будто они в папках.
|
|
|

06.12.2009, 02:53
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
rushter, из вашего поста не было ясно, что нужно помочь с правилом для mod_rewrite
Код:
RewriteRule ^(.+)/(.+)\.html$ $1-$2.html
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|