我想使用正则表达式隐藏IP地址的最后两个部分,问题是asterix(*)必须与这些部分的长度匹配.
例如:10.101.12.100应该重新格式化10.101.**.***
这是我正在使用的代码:
echo preg_replace('!(\d+).(\d+).\d+.\d+!s', '${1}.${2}.***.***', "10.101.12.100");
// Return: 10.101.***.***
Run Code Online (Sandbox Code Playgroud)
这可能使用正则表达式吗?
PS:我知道我可以使用它来打破它explode('.', ...),str_repeat('*', strlen(...))但我找到preg_replace了一个更清洁的解决方案.我正在寻找一个"oneliner"解决方案.