Обрезание URL-ов
Столкнулся с такой проблемой. Напарсил сайтов из выдачи, часть из адресов с хвостами (т.е. именно ссылки). Может у кого-то есть готовое решение? Нужно эти хвосты убрать или в отдельный файл записать только адреса самих сайтов.
РегЭкспом по формуле http://[^/]*/ нахожу сами адреса, а вот как сделать формулу, чтобы находило всё, что после них - не додумался. Я уверен, я не один такой весёлый с такой проблемой - поэтому не жадничайте, если богаты на минисофтинку для этого случая. Что-то выдумывать, когда я уверен, что оно уже есть - не очень-то хочется :) |
если речь о php то не придумывая велосипеда:
<?php $url = pathinfo('http://www.sape.ru/1.php'); echo $url['dirname']; ?> набросал на коленке, но вроде все верно |
preg_match('|http://([^/]+)([^"])"|Usi', $ссылка, $куда_скидувать_массив) :)
|
или, если беречь память сервака при большом кол-ве урлов, написать строковыми функциями обрезание по одиночному слешу...
регулярки здесь, имхо, будут более затратными чем pathinfo |
Цитата:
Добавлено через 1 минуту Цитата:
|
Цитата:
echo $url['dirname']; что непонятно? Добавлено через 2 минуты регулярка кстати косячная |
Цитата:
Спекся за этот день... |
в общем вариант я написал рабочий, проверил
MrJinx, пользуйся... если конечно захочешь.. |
Цитата:
Добавлено через 7 минут ещё варианты? :) |
а, согласен, тогда вот так:
$url = 'http://site.com/site/site/1.html'; $url = substr($url, 0, strpos($url, '/', 7)+1); echo $url; Добавлено через 4 минуты ну или parse_url на самом деле только вот массив по любому больше памяти будет выедать... |
Часовой пояс GMT +3, время: 04:33. |
Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.