1

我正在尝试在特定字符之后读取一些文本,然后检索数据。我能够做到这一点,但我希望能够用“#”将数据分开,以便单独分开。我可以解决这个问题,但问题是在某些部分有一个空格而不是标签。

我试过使用$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

感谢阅读,感谢您的帮助。

4

3 回答 3

1

用户 trim() 函数从左右删除空格,

 echo trim($info[0]).'#'.trim($info[1]).'#'.trim($info[2]).'#'.trim($info[3]).'#'.trim($info[4]);
于 2013-06-02T10:03:08.867 回答
1
 $file=file('LauncherInfo.txt');

foreach ($file as $line) {

$line=str_replace(' = ','#',$line);
$line=preg_replace('%\r\n%','#',$line);

echo $line; 

}
于 2013-06-02T10:12:32.170 回答
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

现场样品

于 2013-06-02T09:51:56.320 回答