获取PHP变量的一部分
我只需要得到PHP变量的一部分获取PHP变量的一部分,php,Php,我只需要得到PHP变量的一部分 $somevar = "sd300.somedata.cd.vm.someotherdata.cd.vm"; 现在,我无法理解,但我只需要第一部分,去掉最后一部分,然后将变量再次保存为$somevar 我只需要捕获sd300.somdata.cd.vm 我试过preg\u replace,但就是想不出来 有人有想法吗?您可以尝试这样做: $somevar = "sd300.somedata.cd.vm.someotherdata.cd.vm"; $delimi
$somevar = "sd300.somedata.cd.vm.someotherdata.cd.vm";
现在,我无法理解,但我只需要第一部分,去掉最后一部分,然后将变量再次保存为$somevar
我只需要捕获sd300.somdata.cd.vm
我试过preg\u replace
,但就是想不出来
有人有想法吗?您可以尝试这样做:
$somevar = "sd300.somedata.cd.vm.someotherdata.cd.vm";
$delimiter = '.cd.vm';
$temp = explode($delimiter, $somevar);
您的搜索值:
$value = $temp[0] . $delimiter;
您没有提供太多信息,这就是我猜测的原因。下面的逻辑将很有帮助
$somevar = "sd300.somedata.cd.vm.someotherdata.cd.vm";
echo (implode('.',current(array_chunk(explode('.',$somevar),4))));
使用preg\u match\u all()
可以执行以下操作:
$somevar = "sd300.somedata.cd.vm.someotherdata.cd.vm";
$pattern = '/((.*?\.)(cd\.vm))/';
preg_match_all($pattern, $somevar, $matches);
print_r($matches);
返回
Array
(
[0] => Array
(
[0] => sd300.somedata.cd.vm
[1] => .someotherdata.cd.vm
)
[1] => Array
(
[0] => sd300.somedata.cd.vm
[1] => .someotherdata.cd.vm
)
[2] => Array
(
[0] => sd300.somedata.
[1] => .someotherdata.
)
[3] => Array
(
[0] => cd.vm
[1] => cd.vm
)
)
$matches[0][0]
包含问题中的。如果仍要使用preg\u replace:
$somevar = "sd300.somedata.cd.vm.someotherdata.cd.vm";
$somevar = preg_replace("/(.*\..*\..*\..*)\..*\..*\..*/", '$1', $somevar);
var_dump($somevar);
您如何确定应退还的部分?它总是最中间的点吗?请张贴你的代码。