因此,我有多个列格式为 {a|b|c}{e|f|g}{h|i|j}[d]
。
a,e,h,d是数字(例如:2,3,4.5等)
b,f,我是日期(ex 1.1.2014 - 是的,有点)
c,g,j是随机格式化的ID,包含数字和字母
该列如下所示:
{5|1.1.2014|a23yiuahd3}{5.25|2.1.2014|a23yiuahd3}{9.25|2.1.2014|a23yiuahd3}[7]
我把头分开了2天,想出如何在php中输出它们:
5 5.25 9.25
将鼠标悬停在每个号码上会显示日期和用户(ID)。
我尝试使用 preg_match ,但它只会在同一个数组中输出第一个{...}或全部。所以没有好处。
我尝试在很多其他子串中拆分多个子串:
$i={5|1.1.2014|a23yiuahd3
$i_rest={5.25|2.1.2014|a23yiuahd3}{9.25|2.1.2014|a23yiuahd3}[7]
$i2={5.25|2.1.2014|a23yiuahd3
$i2_rest={9.25|2.1.2014|a23yiuahd3}[7] ,
但是我收到了很多colums,我重载数据库。
在一个请求中,我等待大约7秒钟。
欢迎任何想法。
答案 0 :(得分:2)
首先,拆分你的字符串。
$s = "{5|1.1.2014|a23yiuahd3}{5.25|2.1.2014|a23yiuahd3}{9.25|2.1.2014|a23yiuahd3}[7]";
preg_match_all('/{([\d.]+)\|([\d.]+)\|([\da-z]+)}/', $s, $match);
print_r($match);
Array
(
[0] => Array
(
[0] => {5|1.1.2014|a23yiuahd3}
[1] => {5.25|2.1.2014|a23yiuahd3}
[2] => {9.25|2.1.2014|a23yiuahd3}
)
[1] => Array
(
[0] => 5
[1] => 5.25
[2] => 9.25
)
[2] => Array
(
[0] => 1.1.2014
[1] => 2.1.2014
[2] => 2.1.2014
)
[3] => Array
(
[0] => a23yiuahd3
[1] => a23yiuahd3
[2] => a23yiuahd3
)
)
现在,您可以从数组$match
中提取数据并自行输出。