我试图提取的引号之间的文字,文字中也有引号,如下所示:“data”:“value”
具体的词是“数据”。 “价值”总是不同的。一旦提取,它应该是“数据”:带引号的“值”。
到目前为止......
<?
$dat = "file.dat";
$text = file_get_contents($dat);
$res = preg_match_all ('/"([^"]*)"/', $text, $matches);
if ($res) {
foreach (array_unique ($matches[0]) as $data) {
echo "$data";
}
}
else {
echo "No Data Found.";
}
我的代码只提取双引号之间的所有单词。我如何完成我想要做的事情?提前谢谢。
答案 0 :(得分:0)
正如在评论中注意到的那样。您尝试解析的格式是JSON,PHP附带了一个易于使用的函数来解析JSON。你可以试试这个:
<?
$dat = "file.dat";
$text = file_get_contents($dat);
$res = json_decode($text, true);
if ($res) {
foreach ($res as $key => $value) {
echo "$key => $value";
}
}
else {
echo "No Data Found.";
}
未经测试,但应该完成工作。