嗨我有一个文本文件'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,
任何人都可以帮助我
答案 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);