首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP分解-删除字符串的第一部分,然后是最后一部分

PHP分解-删除字符串的第一部分,然后是最后一部分
EN

Stack Overflow用户
提问于 2011-07-29 02:11:28
回答 3查看 2.4K关注 0票数 1

我正在创建一个简单的数据库恢复脚本,但我在路上遇到了一个颠簸。

数据库转储文件也是使用脚本创建的,其文件名格式如下: datestamp-dbname.sql

使用恢复脚本,我需要删除日期戳、连字符和.sql,只保留数据库名。

我目前有这个,它删除了第一部分,但我还需要删除.sql。

代码语言:javascript
复制
$getfilename = $_GET['filename'];
$dbname = explode("-", $getfilename[2]);

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-29 02:13:12

代码语言:javascript
复制
list ($timestamp, $dbname) = explode('-', basename($filename, '.sql'));

basename() (带有可选的第二个参数)删除文件扩展名。剩下的都是微不足道的。

另一种解决方案:

代码语言:javascript
复制
$dbname = substr($filename, strpos($filename, '-') + 1, -4);

只接受- (不包括:+1)和字符串末尾之前的4个字符之间的字符串。

我更喜欢第一种解决方案,因为对我来说它感觉更干净一些(甚至更具可读性)

票数 4
EN

Stack Overflow用户

发布于 2011-07-29 02:13:59

数组的第一个元素的索引为0,而不是1。您需要:

代码语言:javascript
复制
$tmp = explode('-', $getfilename);
$dbname = $tmp[1];
票数 0
EN

Stack Overflow用户

发布于 2011-07-29 02:14:16

代码语言:javascript
复制
$getfilename = $_GET['filename'];
$dbname = explode("-", $getfilename);
$dbname[1] // this is what you need
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6863645

复制
相关文章

相似问题

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