- substr: documentation ( source)
- var_dump: documentation ( source)
- preg_match: documentation ( source)
<?php
function findBase(string $t): string|null
{
$matches = [];
preg_match('/(?P<name>\.([^\.])*)$/', $t, $matches);
if (!isset($matches['name'])) {
return $t;
};
return substr($t, 0, -1 * strlen($matches['name']));
}
var_dump(findBase(''));
var_dump(findBase('foo'));
var_dump(findBase('foo.bar'));
var_dump(findBase('foo.bar.baz'));
var_dump(findBase('foo.bar[0].baz'));