正则表达式模式帮助

| 我需要在wordpress帖子中搜索包含内容库中包含从媒体库插入的照片且未附加到帖子的帖子的帖子(这是wordpress的一部分,如果您不明白,那是\'很好,这只是为了解释我在做什么:) 无论如何,$ subject看起来像这样:
\"some text or no text at all [gallery order=\"DESC\" orderby=\"title\" link=\"file\" include=\"1089,1090,1091,1099,1105,1109,1113\"]some text or no text at all\"
我需要的是包含中的数字列表。请注意,其他参数(例如顺序,链接等)不是必需的。 我尝试过自己,但是我无法使其正常工作,这就是我所做的:
$pattern = \'/^.\\[gallery.include=\"(?)\".\\]$/\';
$subject = \'[gallery order=\"DESC\" orderby=\"title\" link=\"file\" include=\"1089,1090,1091,1099,1105,1109,1113\"]\';
var_dump(preg_match($pattern, $subject, $matches));
print_r($matches);
印刷品:
int(0) Array ( )
救命?谢谢!     
已邀请:
尝试:
$pattern = \'/^\\[gallery.*?\\sinclude=\"([^\"]*)\".*\\]$/\';
正则表达式中的单个“ 4”仅匹配一个字符。
.*
贪婪地匹配任意数量的字符(即,它尽可能地匹配)。
.*?
做同样的事情,但不是贪婪的(即,当下一个部分或多或少匹配时,它就会停止)。 捕获部分是“ 7”,这是一个反向字符类,表示“除重复或零次以上的“ 8”以外的任何字符”。 并且您需要转义
[
]
,因为它们是字符类的开始/结束标记。 如果希望在ѭ11之前或之后有文字,请移除锚点(第一个
^
,最后一个
$
)。     
好的,有一些假设,因为这确实需要适当的解析器,而不是正则表达式: 您的
gallery
标签中没有
]
字符。
gallery
标签中没有occurrence16ѭ 在引用部分和外部引用中,这两者都是正确的。 这个正则表达式应该工作:
$pattern = \'/\\[gallery[^\\]]* include=\"([\\d,]*)\"/\';
$matches[1]
现在将包含一个逗号分隔的字符串。
$values = explode(\',\', $matches[1]);
$values
现在将是数字的数组。     
  尝试:      $模式=   \'/ ^ [gallery.?include = \“([[^ \”])\“。*] $ / \'; 那可能行不通,因为他说图库标记之前和之后可能会有文字。 字符串的开头和结尾分别包含^和$标志,这意味着该标记必须是一行中的唯一内容。 采用:
/\\[gallery.*?include=\"([^\"]*?)\".*?\\]/
它应该工作。     

要回复问题请先登录注册