HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

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

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

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

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

  #853  
Старый 04.12.2009, 23:54
whexp
Познающий
Регистрация: 30.11.2009
Сообщений: 97
С нами: 8655837

Репутация: 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
С нами: 8829763

Репутация: 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
С нами: 8655837

Репутация: 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
С нами: 11278406

Репутация: 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
 
Ответить с цитированием

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

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

  #858  
Старый 06.12.2009, 01:21
whexp
Познающий
Регистрация: 30.11.2009
Сообщений: 97
С нами: 8655837

Репутация: 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
С нами: 9456866

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

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

Репутация: 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 ™ © 2001- Antichat Kft.