使用PHP读取特定字符后的文本

时间:2013-06-02 09:48:52

标签: php text explode

我试图在特定字符后读取一些文本,然后检索数据。我能够做到这一点,但我希望能够用'#'分隔出数据,以便它可以单独分开。我可以管理这个,但问题是在某些部分有空格而不是标签。

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

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

3 个答案:

答案 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

Live sample