我可以在PHP的{string}
函数中使用此正则表达式/{(.*)}/s
来匹配此字符串preg_replace_callback
。
但如果该字符串包含在{tag}{/tag}
之类的标签中,那么我不会匹配该字符串,
例如:
我不想在{string}
中匹配{tag} Anything Here {string} Anything Here {/tag}
。
非常欢迎任何建议(或可能的例子)。
答案 0 :(得分:2)
你可以玩:
preg_match_all("/(\{string\})|(\{tag\}.+\{.+tag\})/", $str, $m);
echo "<pre>";
print_r($m);
echo "</pre>";
正如您将看到的,该表达式将返回带有三个数组元素的m。第二个数组元素包含所有不在{tag}中的{string} .... {string} .... {/ tag}