当我使用时:
rtrim('HeaderController', 'Controller');
我希望这会返回Header,因为HeaderController - Controller = Header 但这会返回'Head',为什么?
答案 0 :(得分:2)
rtrim
要求删除字符列表,而不是子字符串。因此rtrim
删除了er
中的Header
。
答案 1 :(得分:2)
如果要删除“Controller”子字符串,可以这样做:
$name = 'HeaderController';
$shortName = str_replace('Controller', '', $name);
一定要只替换字符串末尾的“Controller”,你需要一个正则表达式(这有点慢)
$name = 'HeaderController';
$shortName = preg_replace('/Controller$/', '', $name);
$ -sign标记字符串的结尾