我试图在特定字符后读取一些文本,然后检索数据。我能够做到这一点,但我希望能够用'#'分隔出数据,以便它可以单独分开。我可以管理这个,但问题是在某些部分有空格而不是标签。
我尝试过使用$info = explode(' = ', rtrim($file, '#'));
,但这不起作用。我也尝试过其他一些无效的解决方案。
这是我的代码:
$file = file_get_contents('LauncherInfo.txt');
$info = explode(' = ', $file);
echo $info[0].'#'.$info[1].'#'.$info[2].'#'.$info[3].'#'.$info[4];
这是我用该代码获得的输出。
IP#127.0.0.1 EXE#Client.exe PORT#8080 TITLE#Launcher
但我希望它是这样的:
IP#127.0.0.1#EXE#Client.exe#PORT#8080#TITLE#Launcher
这也是我的txt文件:
IP = 127.0.0.1
EXE = Client.exe
PORT = 8080
TITLE = Launcher
感谢阅读,感谢您的帮助。
答案 0 :(得分:1)
user trim()函数从左右移除空格
echo trim($info[0]).'#'.trim($info[1]).'#'.trim($info[2]).'#'.trim($info[3]).'#'.trim($info[4]);
答案 1 :(得分:1)
$file=file('LauncherInfo.txt');
foreach ($file as $line) {
$line=str_replace(' = ','#',$line);
$line=preg_replace('%\r\n%','#',$line);
echo $line;
}
答案 2 :(得分:0)
我认为您可以使用str_replace
功能
$str = 'IP#127.0.0.1 EXE#Client.exe PORT#8080 TITLE#Launcher';
echo str_replace(' ', '#', $str);
这将输出
IP#127.0.0.1#EXE#Client.exe#PORT#8080#TITLE#Launcher