HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #851  
Старый 03.12.2009, 21:56
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме:
1698585

Репутация: 818


Отправить сообщение для b3 с помощью ICQ
По умолчанию

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>';
 }
}
?>
 
Ответить с цитированием

  #852  
Старый 04.12.2009, 22:21
programming
Участник форума
Регистрация: 26.08.2009
Сообщений: 138
Провел на форуме:
201522

Репутация: 18
По умолчанию

Нужно переменную полностью оставить, а только лишь удалить тег <a href..></a>
А с помощью strip_tags() можно удалить только тег ссылки, а все другие оставить?
 
Ответить с цитированием

  #853  
Старый 04.12.2009, 23:54
whexp
Познающий
Регистрация: 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!')
Получаем следующее:
Цитата:
Hello, World! Text HAHA!
 
Ответить с цитированием

  #854  
Старый 05.12.2009, 12:41
DeluxeS
Участник форума
Регистрация: 01.08.2009
Сообщений: 183
Провел на форуме:
1483264

Репутация: 131
По умолчанию

Есть список доменов, в файле.
Нужно зону домену в виде:
Цитата:
.com
.es
Таблица такая:
Цитата:
sdfsdf.com
sdfsdfff.com
loool.es
asdsdf.es
Нужно чтобы получилось:
Цитата:
sdfsdf.com .com
sdfsdfff.com .com
loool.es .es
asdsdf.es .es
Т.е. дописывать через несколько пробелов зону домена. Спасибо
 
Ответить с цитированием

  #855  
Старый 05.12.2009, 13:48
whexp
Познающий
Регистрация: 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.

Вполне вероятно, что можно сделать лучше
 
Ответить с цитированием

  #856  
Старый 05.12.2009, 14:49
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме:
1698585

Репутация: 818


Отправить сообщение для b3 с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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
 
Ответить с цитированием

  #857  
Старый 06.12.2009, 00:42
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме:
9257858

Репутация: 979


Отправить сообщение для rushter с помощью ICQ
По умолчанию

Имеються 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 ?
__________________
Blog
 
Ответить с цитированием

  #858  
Старый 06.12.2009, 01:21
whexp
Познающий
Регистрация: 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
 
Ответить с цитированием

  #859  
Старый 06.12.2009, 02:22
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме:
9257858

Репутация: 979


Отправить сообщение для rushter с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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 файлов с такими именами,мне нужно сделать вид как будто они в папках.
__________________
Blog
 
Ответить с цитированием

  #860  
Старый 06.12.2009, 02:53
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

rushter, из вашего поста не было ясно, что нужно помочь с правилом для mod_rewrite
Код:
RewriteRule ^(.+)/(.+)\.html$ $1-$2.html
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 6762 17.06.2010 21:23
Всё о беспороводном соединении на кпк и смартфонах! Задай вопрос - получи ответ! ARMENIN Беспроводные технологии/Wi-Fi/Wardriving 2 02.11.2008 00:40



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ