我如何轻松地做到这一点:
$ipp='/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)([\s\:\-]+[0-9]{2,5})/'; // IP Address
preg_match_all($ipp, $line, $matches);
这匹配多种格式的ip:port。我想定义第二个标准,就像你在shell脚本中使用(A&& B)那样,只有在端口号不是“143”时才匹配。在将来,我可能希望通过“993”,“995”等其他端口进行扩展。
由于
答案 0 :(得分:0)
每当我必须完成这样的任务时,我会为它创建一个自定义函数,以便我可以修改它,添加 - 删除参数,如果需要更多函数,我创建一个对象。在那种情况下,我将为该tsak创建一个函数。
function check($ip, $against){
$ipChecked = false;
$againstChecked = false;
//pregmatch statement with the ip, if true, the $ipChecked = true;
//pregmatch $against with the ip, if false then $againstChecked = true;
if ($ipchecked === true && $againstChecked===true)
return true;
else
return false;
}
随意自定义该功能以添加所需的任何参数 然后像这样使用它:
$ip = '145.254.021';
$against ='143';
$check = check($ip, $against);
if($check === true){
//Insert code here...
}
我理解你的问题了吗?