匹配字符串的正则表达式包含文本双引号和方括号

时间:2013-01-13 18:18:48

标签: php regex preg-match

我试图用双引号和方括号在两个字符串之间提取文本。 [gallery ids=""]

我的格式是:

[gallery ids="55,57,56,58,59"]

我想转到

55,57,56,58,59

我尝试了各种各样的模式,但我没有运气。谁能告诉我使用PHP的正则表达式函数可以实现什么模式?

1 个答案:

答案 0 :(得分:3)

那应该适合你:

$string = '[gallery ids="55,57,56,58,59"]';
if (preg_match('/\[gallery\sids="([^"]+)"\]/', $string, $m)) {
    echo $m[1];
}

或者如果您想匹配文本中的多个字符串,那么只需使用preg_match_all

if (preg_match_all('/\[gallery\sids="([^"]+)"\]/', $string, $m)) {
    print_r($m[1]);
}