匹配包含文本双引号和方括号的字符串


Regex to match a string containg text double quotes and square brackets

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

格式为:

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

我想把它交给

55,57,56,58,59

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

这应该对你有用:

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