我想隐藏特定标签,直到某些内容中的结束标签,但我无法让它正常工作。
这就是我所拥有的:
$fnc_patterns = "/\[display=[^!]+\]?.*\[\/display=[^!]+\]/";
$str = preg_replace($fnc_patterns, '', $str);
$str = "Dummy text text dummy [display=hide]hide this[/display=hide] but it also [display=no_hide]hides this[/display=no_hide] and not [display=hide]this[/display=hide] :(!";
//Outputs: Dummy text text dummy :(!
但它应该在这个函数之前输出Dummy text text dummy but it also hides this :(!
我替换和关闭标签。[display=no_hide]
问题是,它只是替换了 和 之间的所有内容[display=XXX]
,[/display=XXX]
但它应该在第一次遇到结束标签时停止。我怎样才能做到这一点?
(请注意,它XXX
可以是一切,而不仅仅是hide
or no_hide
)
提前致谢!