我搜索自定义HTML标记:
$match = preg_replace_callback("/<tag>(.*)<tag>/", function ($key) {
$result = getTxt($key[1]);
return $result;
}, $buffer);
输入为:
时有效Abc <tag>1<tag> efg
但为什么它会返回null
:
Abc <tag>2<tag> ef <tag>3<tag> h
我尝试将不同的结尾标记:/$tag(.*)($tag?)/
分组,结果相同。
答案 0 :(得分:1)
您需要通过.*
.*?
非贪婪
/<tag>(.*?)<tag>/
说$tag
为<tag>
,这意味着$tag?
变为<tag>?
,其中<tag
和<tag>