1

当我使用:

rtrim('HeaderController', 'Controller');

我期望这将返回 Header 因为 HeaderController - Controller = Header 但这会返回 'Head',为什么?

4

2 回答 2

2

rtrim期望删除一个字符列表,而不是子字符串。所以rtrim删除了erin Header

于 2012-07-21T11:44:37.647 回答
2

如果要删除“控制器”子字符串,可以这样做:

$name = 'HeaderController';
$shortName = str_replace('Controller', '', $name);

确保只替换字符串末尾的“Controller”,您需要一个正则表达式(这有点慢)

$name = 'HeaderController';
$shortName = preg_replace('/Controller$/', '', $name);

$-sign 标记字符串的结尾

于 2012-07-21T11:58:03.737 回答