这是我的字符串。
$string = '{TE:Hi}';
这是我的preg_replace_callback代码:
echo preg_replace_callback('#(?<={TE:)(.*?)(?=})#is', function($matches){
return '';
}, $string);
我应该使用preg_replace_callback因为我使用另一个函数进入回调函数。 此代码可以替换检测到的内容并将其删除。 但不能删除它的模式({TE:和}) 这只从字符串中删除“Hi”,但我想删除“{TE:Hi}”。 “嗨”是动态的,它可能是别的东西。字符串中可能有这种形式的几种模式。
提前感谢。
答案 0 :(得分:0)
如果要删除完整的支撑表达式,则不应使用(?<=
或(?=
环视。只是匹配:
#{TE:(.*?)}#is
请注意,这会影响$matches
数组中为回调函数提供的内容。
它将是["{TE:Hi}", "Hi"]
而不是["Hi", "Hi"]
。