首页
学习
活动
专区
圈层
工具
发布

问".php“
EN

Stack Overflow用户
提问于 2013-10-20 03:27:26
回答 3查看 1.8K关注 0票数 4

如果字符串存在,我想从字符串的末尾删除".php“。考虑到这一点:

代码语言:javascript
复制
$filename = 'index';
rtrim($filename,".php");//returns "index"

$filename = 'search';
rtrim($filename,".php");//returns "searc"

为什么会发生这种情况?我觉得这跟字母“h”-“h”在字符串中的关系有关。因此,我尝试了一个正则表达式(.php$),看看它是否产生了影响,但它没有。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-20 03:29:13

rtrim接受一个字符列表()作为第二个参数,因此在本例中,它不仅会修剪.php扩展,而且还会修剪字符串其余部分中的任何.、p或h字符。

如果服务器上有文件,则尝试使用preg_replace("/(.+)\.php$/", "$1", $filename);,或者使用basename($filename, '.php'),而不仅仅是在字符串中。

票数 9
EN

Stack Overflow用户

发布于 2013-10-20 03:30:27

rtrim的第二个参数是一个字符串,其中包含一个字符列表。在这种情况下,它将去掉任何P,H,和。在你的字符串中,所以返回搜索。

票数 2
EN

Stack Overflow用户

发布于 2013-10-20 03:32:45

如果您只是试图删除扩展,为什么不使用以下内容:$filename = 'index.php';$name = strstr($filename,'.',true);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19473603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档