在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的日志条目,可能导致不必要的行为.我相信这可能是一个非常不可能的情况,但仍值得注意. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |