我有一些没有扩展名的文件(约500个文件) 但我设法查看其内容,它有一些奇怪的标签和东西。
我需要从中提取所有IP地址..对于第2行中的ex,总是有这样的IP地址...... (71.129.195.163)
此外,还有一些html标签,如< a href =“http://www.xyz.com”>在很多行。
我需要从中获取此域名,例如xyz.com
。
有人可以帮助这个php新手吗?我知道将整个文件作为一个字符串和所有的...但由于PHP是强大的,我正在寻找一个甜蜜而简单的方法来实现这一目标。
非常感谢
答案 0 :(得分:1)
正则表达式非常适用于此。
要查找文件中的所有IP:
$ipPattern = '/(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}/';
$ips = array();
preg_match_all($ipPattern, $fileContents, $ips);
$ips = $ips[0];
查找所有链接:
$linkPattern = '/href(\s+)?\=(\s+)?[\'"](.+?)[\'"]/';
$links = array();
preg_match($linkPattern, $fileContents, $links);
$link = $links[3];
假定文件内容位于$ fileContents中。 为每个文件运行此代码。 如果您需要收集所有IP和域,则可以将它们合并到大型数组中:
$allIps = array();
$allLinks = array();
// after each run of the above code do:
$allIps = array_merge($allIps, $ips);
$allLinks[] = $link;