我想在一个阻塞端口的字符串中搜索规则iptables
,我想显示该端口。
例如,规则iptables -A OUTPUT -p tcp --dport 8080 -j DROP;
我希望能够strpos
搜索字符串tcp --dport 8080 -j DROP
,但搜索范围为1-65335 instead of 8080
。
请原谅我可怜的英语。
答案 0 :(得分:2)
假设每个字符串都是固定格式的,例如你可以搜索数字,然后使用preg_match()
函数检查是否在范围内
$str = 'iptables -A OUTPUT -p tcp --dport 8080 -j DROP;';
preg_match('/\d+/', $str, $match); // search for matches
if ($match[0] >= 1 && $match[0] <= 65335) {
echo "Valid number found on string";
}
模式/\d+/
搜索任意数字,1到无限次
备注:强>
1。当在字符串上找不到数字时,将导致未定义的错误/警告
2。如果找到超过1个整数,可能会变得不准确