php - 如何将目录字符串处理成更小的目录字符串
问题描述
这是一个奇怪的问题,我不知道我是否可以正确表达它,但可以说我有一个字符串“/lib/../”并且它是一个有效的目录,现在它不容易阅读并且它的清晰视图应该是 "/" ,所以有没有办法可以将 "/lib/../" 处理成 "/"
我的一种方法是通过用'/'分解非干净的目录字符串来创建一个数组,它会给我2个(或更多取决于字符串)值“lib和..”然后我可以检查一个foreach循环如果存在“..”,则使用键,那么它只会删除“..”和它之前的值
虽然我想看看是否有人有更好的主意(特别是如果已经有这样做的功能)
解决方案
我去创建自己的修复程序,这段代码做到了
function hahaPathGoFix($f){
$letsee = explode('/',$f);
foreach ($letsee as $key => $sd){
if ($sd == '..'){
unset($letsee[$key]);
unset($letsee[$key-1]);
}
}
foreach ($letsee as $fin){
echo '/'.$fin;
}
}
现在唯一的问题是它在开始时添加了一个额外的 / 但这可以通过观察数组中的值来修复然后我相信我只需要删除第一个值(为什么 idk 但它似乎工作)所以我只是添加一个
unset($letsee[0]);
在 foreach 循环之间
推荐阅读
- testing - 无法重复使用 Https 测试脚本记录器来完成操作,因为响应代码 - 401 显示
- powershell - 如何在powershell的XML数组中查找变量值?
- iis - 状态 200,sc-win32-status 为 64 大请求
- javascript - onClick 需要 2 次点击
- javascript - 将 RX 与 yeoman 生成器一起使用
- java - 从 jar 与 IntelliJ 运行时,Spring 以不同的顺序自动装配 bean - 无法启动 bean 'subProtocolWebSocketHandler' 没有处理程序
- sql - SQL 错误:ORA-00933:从三个表中删除时 SQL 命令未正确结束
- php - 无法使用 php 读取数组中的重音名称
- r - 通过R中的逻辑从数据帧中提取数据
- python - python-curses 没有注册 instr()