【发布时间】:2014-10-10 08:07:42
【问题描述】:
我试图提取的引号之间的文本,在文本中也有引号,例如:“data”:“value”
具体的词是“数据”。 “价值”总是不同的。提取后,它应该是带有引号的 "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.";
}
我的代码只是提取双引号之间的所有单词。我如何完成我想做的事情?提前谢谢你。
【问题讨论】:
-
看起来像 JSON 数据,为什么不尝试正确读取 JSON 对象呢?
$res = json_decode($text, true); print_r($res) -
或者可能是 CSV。在您冒险完善您选择的工具之前,请退后一步并解释您想要完成的实际任务。 What is the XY problem?
-
它用于 Mandrill 的 webhook。我只是想从中获取电子邮件地址。有时它会抛出一个不在我的订阅者列表中的随机电子邮件地址。我列表中的电子邮件地址使用上述格式。
-
mandrillapp.com/api/docs/webhooks.html 表示 JSON。 PHP 已经为此提供了解析器。
-
@Brian 从外观上看,那一堆信息是 json,请在结果上尝试上面的 Prix 建议。