我有一个从 MySQL 数据库中获取的不同长度的字符串,在该字符串中是一个值(下面以粗体显示):
s:1:"4"、s:2:"53"、s:3:"7"、s:4:"5"
我需要一种方法来查找s:3:之后的引号中的任何内容。所以在这个例子中,它将是7。我环顾四周,我认为我需要使用explode 功能,但我无法实现它。该字符串可能包含 this 的多个值,在这种情况下,我想将它们全部放入一个数组中。
$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]);
}
非贪婪方法,包括多行。
<?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);
}
?>