2014-01-21 94 views
1

我在浏览wordpress中的主题元数据时遇到了大量数据。它看起来像不是使用几个元数据键来处理不同的数据位,而是将它们全部组合在一起。这尤其是一个事后类型元数据:这是什么数据符号?

a:3:{s:8:"dateFrom";s:16:"Mon, 10 Feb 2014";s:6:"dateTo";s:16:"Mon, 10 Feb 2014";s:8:"location";s:87:"Convention Center";}" 

我大多只是想提取“dateFrom”这样我就可以在小部件显示。

它看起来像其他事件改变的唯一的东西是实际值(日期,地点)。 [a-z]:[0-9]*(这似乎是键,但它们不是冒号的有效JSON键原因)的部分是恒定的。

回答

2

该值PHP serialized。如果你unserialize它将被转换为一个数组。因此,像(未经测试):

$orig = 'a:3:{s:8:"dateFrom";s:16:"Mon, 10 Feb 2014";s:6:"dateTo";s:16:"Mon, 10 Feb 2014";s:8:"location";s:87:"Convention Center";}"'; 
$converted = unserialize($orig); 
echo $converted['dateFrom']; 

应该做的伎俩

+0

谢谢!这确实结束了工作,但后来我意识到,如果我使用'get_post_meta'而不是'get_metadata',WP会为我反序列化它。无论哪种方式,这是一个正确的答案,以防将来某个未使用WP的人序列化。 – Esaevian

+0

酷;很高兴你达到了它的底部。感谢接受。 – Hobo