【发布时间】:2017-12-31 11:37:45
【问题描述】:
我正在寻找一些正则表达式,它将从 BBCode QUOTE 标签中捕获用户名和帖子 ID。
我只希望文本在用户名直接后跟帖子 ID 并且是完全格式的 QUOTE 标记(例如 [QUOTE=username;numericalid]
我目前正在使用这个:
$matches = preg_match_all('/(\[QUOTE=)(\w*?)(\;)/', $data, $match);
但这与下面文本中的“QUOTE=Jim][QUOTE=Bob”匹配,而不仅仅是“[QUOTE=Bob”。
我还尝试只返回用户名和 ID,因此理想的返回是“Bob;20499344”(对于文本中的每个用户名/ID 模式)。
[QUOTE=Bob;204992][QUOTE=Steve;204939][QUOTE=Steve;204938][QUOTE=Steve;204936]Here is some text.
[QUOTE=Jim][QUOTE=Bob;20499344][QUOTE=Bob;203489194][QUOTE=Bob;67235994]some more quote here[/QUOTE][/QUOTE][/QUOTE][/QUOTE][/QUOTE][QUOTE=Bob;204194]
=hello;78967876]
如何修改正则表达式以正确匹配?
任何帮助都会很棒!谢谢!
【问题讨论】: