来自txt文件的GET_CONTENT名称

时间:2013-07-04 14:31:40

标签: php

我在name.txt文件中有这个列表:

"name1":"Robert"
"name2":"George"
"name3":"Flophin"
"name4":"Fred"

在网页中我需要一个php代码,该代码只使用名称为1 2 3 4 id的人名。

我在test.php?id=name2

中使用此功能
$Text=file_get_contents("./name.txt"); 
if(isset($_GET["id"])){ 
    $id = $_GET["id"]; 
    $regex = "/".$id."=\'([^\']+)\'/"; 
    preg_match_all($regex,$Text,$Match); 
    $fid=$Match[1][0]; 
    echo $fid; 
} else { 
    echo ""; 
} 

结果应为George, 我该如何改变它?

Mabe是另一种更简单的方法吗?

3 个答案:

答案 0 :(得分:1)

$file=file('name.txt');

$id = $_GET["id"]; 

$result=explode(':',$file[$id-1]);

echo $result[1];

编辑:$ result [1]如果你只想要名字。

答案 1 :(得分:0)

这是你的问题的一个丑陋的解决方案,你可以循环。和Here's对爆炸功能的引用。

<?php

$text = '"name1":"Robert"
"name2":"George"
"name3":"Flophin"
"name4":"Fred"';

$x = explode("\n", $text);
$x = explode(':', $x[1]);

echo $x[1];

答案 2 :(得分:0)

将文本文件加载到数组中;以Text Files and Arrays in PHP为例。

加载数组后,您可以直接引用数组值,例如$ fid = $ myArray ['name'。 $ ID]。请参考PHP how to get value from array if key is in a variable作为示例。