加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在PHP中查找字符串中空格和下划线的正确排列

发布时间:2020-12-13 22:52:25 所属栏目:PHP教程 来源:网络整理
导读:我必须解析写入磁盘的所有文件的XFERLOG日志文件,并使用外部脚本处理所述文件. XFERLOG的问题在于它用下划线替换所有空格,而磁盘上的文件名保持不变(应该是这样). 如果原始文件名混合了空格和下划线,这种情况使得很难确定磁盘上的实际文件名,因此必须循环遍
我必须解析写入磁盘的所有文件的XFERLOG日志文件,并使用外部脚本处理所述文件. XFERLOG的问题在于它用下划线替换所有空格,而磁盘上的文件名保持不变(应该是这样).

如果原始文件名混合了空格和下划线,这种情况使得很难确定磁盘上的实际文件名,因此必须循环遍历空格和下划线的所有排列,再次检查文件系统的每个排列以查看它是否存在存在.

所以让我们说日志文件读取:

/path/to/file/OCD_Nightmare_-_[stuff_here_2].txt

磁盘上的实际文件如下所示:

/path/to/file/OCD Nightmare - [stuff_here 2].txt

这里有2 ^ 5个排列.找到“正确”字符串的最佳做法是什么?

解决方法

可能使用str_replace:

if(str_replace('_',' ',$filename) == str_replace('_',$logfilename))
{
    //Yay,a match!
}

注意:如下面的评论所述,如果你的文件系统有/path/to/file/OCD_Nightmare_-_[stuff_here_2].txt和/ path / to / file / OCD_Nightmare -_ [stuff here_2] .txt,它们都会匹配/ path / to / file / OCD Nightmare – [stuff_here 2] .txt的日志条目,可能导致不必要的行为.我相信这可能是一个非常不可能的情况,但仍值得注意.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读