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>'; } } ?>
Нужно переменную полностью оставить, а только лишь удалить тег <a href..></a> А с помощью strip_tags() можно удалить только тег ссылки, а все другие оставить?
Не знаю, как в PHP, но в Python это делается так: Code: import re print re.sub('<a href=".+">(?P<text>.*?)</a>', '\g<text>', 'Hello, World! <a href="gasgasg">Text</a> HAHA!') Получаем следующее:
Есть список доменов, в файле. Нужно зону домену в виде: Таблица такая: Нужно чтобы получилось: Т.е. дописывать через несколько пробелов зону домена. Спасибо
Читаешь файл полностью, а затем заменяешь по ругулярке. У меня на Python получилось так: Code: import re re.sub('(?P<domain>.*?)(?P<zone>\.\w+)\n', '\g<domain>\g<zone> \g<zone>\n', text) Здесь <domain> - все что до .es, а <zone> - как раз .es. Вполне вероятно, что можно сделать лучше
PHP: <?php $str = '<a href="url" target="_blank" name="userurl">desc</a>'; echo preg_replace('#<a.*>(.*)</a>#','$1',$str); ?> Насчет strip_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>'); ?> Результат: ЗЫ вообще все ето можно найти на php.net
rushter, это опечатался, или везде должно быть html.html? Если да, то вот на python: Code: 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) Результат: Если все-же нужно получить такое же имя файла, то: Code: 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) Результат: А вообще это смотреть нужно. Например, если тебе нужно то же имя файла, что и было и при этом дефис больше нигде не встречается, то можно просто по тексту заменить: Code: print i.replace('-', '/') И вот что выйдет:
rushter, из вашего поста не было ясно, что нужно помочь с правилом для mod_rewrite Code: RewriteRule ^(.+)/(.+)\.html$ $1-$2.html
Как составить регулярку для выдирания названия и ссылки стран с http://www.ozon.travel/visas/ ? Не понимаю за что зацепиться..
Здравствуйте, ув. Античатовцы! WP установлен в: /news/ Есть файл: page-1.html Есть страница WP: /news/pages/page-1 Задача при запросе страницы page-1.html получать страницу /news/pages/page-1 с использованием ModRewrite (.htaccess). В .htaccess файле пишу вот так: PHP: RewriteEngine On RewriteRule ^page-1.html$ /news/pages/page-1 В ответ при запросе страницы page-1.html получаю 404 страницу WP. В чём проблема? Что делаю не так? Заранее благодарен!
programming, как-то так: Code: '<li><a href="(/visas/.*?)">(.*?)</a></li>' А вообще лучше самому учиться
делай редирект не на страницу /news/pages/page-1 а на index.php?p=xxxxxxx где номер этой страницы, в твоем случае наверно это 1 поэтому будет RewriteRule ^page-1.html$ /news/index.php?p=1
Есть файл: page-1.html Есть страница WP: /news/pages/page-1 что я тут не верно понял , я так понял у тебя в папку news установлен wp, pages/page-1 такого урла нет в WP значит это рерайтный урл, но на рерайтный. Ты делаешь редирект на рерайтную страницу, вот поэтому у тя и не работает , то есть у /news/pages/page-1 есть и другой адрес, значит и слать надо на него.