在PHP中以字符串形式查找文本

时间:2013-04-25 19:34:53

标签: php string

我有一个从MySQL数据库获取的不同长度的字符串,并且该字符串是一个值(以下面的粗体显示):

s:1:“4”,s:2:“53”, s:3:“7”,s:4:“5”

我需要一种方法来查找 s:3:之后引号中的内容。所以在这个例子中,它将 7 。我环顾四周,我认为我需要使用爆炸功能,但我无法实现它。该字符串可能包含多个值,在这种情况下,我想将它们全部放入数组中。

2 个答案:

答案 0 :(得分:3)

使用preg_match_all()

$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);
  }

?>