从网址中移除子网域PHP

时间:2016-03-09 08:11:41

标签: php

我正在使用PHP脚本清理文本文件中的URL,现在这里是代码:

        $file = __DIR__."/url.txt";
        $f = fopen($file, "r");
        $array1 = array();

        while ( $line = fgets($f, 1000) ) {
            $nl = mb_strtolower($line,'UTF-8');
            $array1[] = $nl;
        }


        foreach ($array1 as $value) {
            $value = preg_replace('#^https?://#', '', $value);
            $value = preg_replace('#^www.#', '', $value);

            echo $value."<br>";
        }

所以我从这些网址中删除了http://www

这是输出:

urlnumberone.com
urlnumbertwo.uk
subdomain.urlnumberthree.com
urlnumberfour.com

我想要的是删除子域名,只需要urlnumberthree.com

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

纯正则表达式解决方案:

function cobweb(f,a,b,x0,x1,N)
x(1)=0.2; % plot orbit starting at x0
for i=1:100
    x(i+1)= 3*x(i)*(1-x(i));
    plot([x(i),x(i)],[x(i),x(i+1)]);
    hold on
    plot([x(i),x(i+1)],[x(i+1),x(i+1)]);
    hold on
end

hold on
r = 3;
x = 0:0.01:1; %// set some x
f = (r.*x.*(1-x));
hold on
plot(x,f,'k')
hold on
plot([x(1), 0], [x(1), 3*x(1)*(1-x(1))])

这会替换您的preg_match('#[^\.]+[\.]{1}[^\.]+$#', $value , $matches); $value = $matches[0];

答案 1 :(得分:1)

检查'。'的出现次数如果它们大于1,则删除开头直到第一个点。