使用php从文本文件中提取子域/域
我有下面的代码,它从输入中提取域名并将它们存储在一个数组中使用php从文本文件中提取子域/域,php,regex,dns,Php,Regex,Dns,我有下面的代码,它从输入中提取域名并将它们存储在一个数组中 foreach ($output as $domList) { $extensionList = explode(",", "org,com,net"); $pattern = '/(\s{0,}|\.)([-a-z0-9]+\.(' . implode("|", $extensionList) . '))\s{1,}/i'; $matches = array(); preg_match_all($pattern, $d
foreach ($output as $domList)
{
$extensionList = explode(",", "org,com,net");
$pattern = '/(\s{0,}|\.)([-a-z0-9]+\.(' . implode("|", $extensionList) . '))\s{1,}/i';
$matches = array();
preg_match_all($pattern, $domList, $matches);
}
匹配项[0]包含提取的所有域
我如何修改它来提取子域呢?示例输入和预期输出肯定会有帮助(我用输入获得了创作许可证)。新的正则表达式的想法是继续吃掉任何不是.com、.org或.net的东西。匹配项[0]现在应生成所有域和子域
$output = array("a" => " test.com test.sub.com", "b"=> "a.com a.b.com b.c.a.com" );
foreach ($output as $domList)
{
$extensionList = explode(",", "org,com,net");
$pattern = '/\s*([-a-z0-9]+\.)+' . implode("|", $extensionList) . '\s*/i';
$matches = array();
preg_match_all($pattern, $domList, $matches);
// foreach ($matches[0] as $val) {
// echo "matched: " . $val . "\n";
}
根据您的需要调整此页面应该不难。您可以提供
$output
$output=“联系我们的主页支持。此页面是实时的!。域是test.com、test.sub.com。访问者…”;