0

我有一个包含许多字符的字符串,我需要从中获取数据。首先,我确实按';'爆炸了,现在我有一个数组,每一行我都有一个单词到引号中。

我想删除所有,少这个词成引号。我知道用preg_match更容易得到这些词,但是怎么成数组,要存起来再过一遍数组,我想直接用preg_replace清理一下。

$array = explode(';', $string);

//36 => string 's:7:"trans_1"' (length=13)
//37 => string 's:3:"104"' (length=9)
//38 => string 's:5:"addup"' (length=11)
//39 => string 's:1:"0"' (length=7)

$array = preg_replace('!   !i', '', $array);

我想获得:

//36 => string 'trans_1' (length=6)
//37 => string '104' (length=3)
//38 => string 'addup' (length=5)
//39 => string '0' (length=1)

我尝试了不同的东西,但我无法摆脱引号之外的字母。

4

2 回答 2

2

虽然这不是您问题的直接答案,但它可以解决您的问题。您正在查看的数据来自 php 函数serialize(),以从您需要使用 php 函数的字符串中检索数据unserialize()

$data = unserialize($string);
于 2013-07-04T15:14:14.527 回答
2

你可以试试

preg_replace('!.*"([^"]*)".*!i', '\1', $array);

\1指的是第一个被俘虏的群体!

于 2013-07-04T15:01:21.203 回答