域名列表中的php搜索URL扩展

时间:2015-08-04 21:43:05

标签: php regex

嗨我有一个文本文件'A',其中包含一个像这样的域名列表

example.com,
example.in,
example.co.in,
example.net,
example.org,
second.in,
second.co.in,

我需要获取.co.in和.in的列表并将它们放在其他文本文件'B'中这样

example.in,
example.co.in,
second.in,
second.co.in,

任何人都可以帮助我

2 个答案:

答案 0 :(得分:0)

您可以使用此正则表达式:

/^(.*?\.in,)$/m

https://regex101.com/r/rC0bZ3/5

PHP用法:

preg_match_all('/^(.*?\.in,)$/m', 'example.com,
example.in,
example.co.in,
example.net,
example.org,
second.in,
second.co.in,', $found);
print_r($found[1]);

使用此方法$found[1]将所有.in个域作为数组。您可以使用file_get_contents填充正则表达式检查的字段。然后file_put_contents创建/写入b.txt.

或者,您可以使用file函数http://php.net/manual/en/function.file.php。使用这种方法,您不需要m修饰符,并且可以在遇到它时将每一行写入b.txt

答案 1 :(得分:0)

//Pull content from file
$fileA = file_get_contents(PATH TO FILE A);

//explode into an array on the comma
$domainArray = explode(",", $fileA);

//Loop over the array and check for the ".in" extension
foreach($domainArray as $item)
{
    //If the '.in' extension is present at the end of the string, add it to a new string
    if(substr($item, -3) === '.in')
    {
        $newDomains .= $item;
    }
}

//Finally, dump the contents into a new file.
file_put_contents('NAME OF FILE', $newDomains);