拆分一个相当复杂的字符串,需要帮助

我有一个像这样的字符串:


../../FolderName$Username$Password

我需要将这三样东西(文件夹,用户名和密码的路径)分成各自的变量,这给我带来了麻烦。


$path = substr($_REQUEST["filename"],0, strpos($_REQUEST["filename"],'$',0)); //Gets the filepath SUCCESSFULLY


$username = substr($_REQUEST["filename"],strpos($_REQUEST["filename"],'$',0),strpos($realtmp,'$',strpos($_REQUEST["filename"],'$',0))); 


//Error, can't get the username properly, it is empty so I probably have a syntax error, but in general I don't know how to structure it.


九州编程
浏览 134回答 1
1回答

湖上湖

正则表达式是解决此问题的最佳方法...正则表达式捕获组[1]包括直到但不包括“ $”的第一个实例的所有内容。捕获组[2]的工作原理相同,捕获直到但不包括“ $”的第二个实例的所有内容。捕获组[3]包括字符串末尾的所有内容。<?php&nbsp; $Filename= 'filename$username$password';&nbsp; preg_match('/([^$]*)[$]([^$]*)[$]([^$]*)/', $Filename, $re);&nbsp; $File = $re[1];&nbsp; $Username = $re[2];&nbsp; $Password = $re[3];&nbsp; echo "File:{$File}\n";&nbsp; echo "Username:{$Username}\n";&nbsp; echo "Password:{$Password}\n";?>编辑:但是,如其他答案所述,从不建议将密码存储为纯文本编辑2:([[^ $] *)表示您正在“捕获一组”为“最多$”的字符。
打开App,查看更多内容
随时随地看视频慕课网APP