我有一个从MySQL数据库获取的不同长度的字符串,并且该字符串是一个值(以下面的粗体显示):
s:1:“4”,s:2:“53”, s:3:“7”,s:4:“5”
我需要一种方法来查找 s:3:之后引号中的内容。所以在这个例子中,它将 7 。我环顾四周,我认为我需要使用爆炸功能,但我无法实现它。该字符串可能包含多个值,在这种情况下,我想将它们全部放入数组中。
答案 0 :(得分:3)
$str = 's:1:"4", s:2:"53", s:3:"7", s:4:"5"';
if(preg_match_all('/s:3:"(.*?)"/', $str, $matches)) {
var_dump($matches[1]);
}
答案 1 :(得分:1)
非贪婪方法,包括多行。
<?php
$str = 's:1:"4", s:2:"53", s:3:"7", s:4:"5"';
if(preg_match_all('!s:3:"([^"]+)"!s', $str, $matches)) {
print_r($matches);
}
?>