当我使用:
rtrim('HeaderController', 'Controller');
我期望这将返回 Header 因为 HeaderController - Controller = Header 但这会返回 'Head',为什么?
rtrim
期望删除一个字符列表,而不是子字符串。所以rtrim
删除了er
in Header
。
如果要删除“控制器”子字符串,可以这样做:
$name = 'HeaderController';
$shortName = str_replace('Controller', '', $name);
确保只替换字符串末尾的“Controller”,您需要一个正则表达式(这有点慢)
$name = 'HeaderController';
$shortName = preg_replace('/Controller$/', '', $name);
$-sign 标记字符串的结尾