从变量中提取字符串,bbcode 中的字符串除外

Extract strings from variable, except those in bbcode

例如我有这个变量:

$variable = "Lorem Ipsum dolor sit amet [url=http://loremipsum.com]Lorem Ipsum[/url]";

我的目标是只获取那些不在 [url] bbcode 中的字符串。
例如上面的例子:当我想获取 "lorem" 字符串时,它将 select 只是第一个,省略了 [url]).[=11 中的字符串=]

我该怎么做?

你可以使用丢弃技术。例如,您可以使用此正则表达式:

\[.*?\]|(lorem)

Working demo

然后,从捕获组中抓取内容。

另一方面,如果您想捕获不在标签内的完整字符串,您可以使用:

\[.*?\]|([\w\s]+)