Forum Webscript.Ru
Программирование => Perl => Тема начата: Frodo[mW] от 19 Апреля 2003, 20:13:33
-
Ну не любят они меня :)
есть адреса типа
mail.com
127.0.0.1
http://www.mail.com
http://www.mail.com/
http://mail.com
в итоге нужно получить только mail.com. убрать и слеши и хттп и ввв, а если идет только ип, то его не трогать, а оставить в таком же состоянии :)
-
уже не надо :)
$host[$i]=~s/^(http:\\/\\/www\\.|http:\\/\\/|www\\.)(.*)/$2/;
-
Хотя возможно так былобы получше
(^http://www\\.|^http://|^www\\.|^)([^/]*)(/|$)
попробуй прогнать mail.com/ind.html?asd
или http://
-
@array=qw(
mail.com
127.0.0.1
http://www.mail.com
http://www.mail.com/
http://mail.com);
foreach(@array)
{
s#^(?:http://)?(?:www\\.)?##;
s#/$##;
}
print "@array";
-
OR
foreach(@array)
{
s#^(?:http://)?(?:www\\.)?##;
s#/.*$##;
}
-
Всем пасиб :)
-
Нет вот ещё быстрое решение для массивов И всё :)
my @array=qw(
mail.com
127.0.0.1
http://www.mail.com
http://www.mail.com/index.html?ttt
http://mail.com);
@array=map{m#^(?:http://)?(?:www\\.)?([^/]*)#}@array;
print "@array";