如何删除“<&”">";以及字符串中它们之间的所有文本


How to remove "<", ">" and all text between them in a string?

我有这些样本字符串

"<textcolor='red'><h1>FAILED - NOT ENOUGH STEPS PERFORMED</h1></textcolor>"
"<b style='color:white; background-color:red'>FAILED</b>"

我想去掉那里所有的HTML格式,所以我得到了这个

"FAILED - NOT ENOUGH STEPS PERFORMED"
"FAILED"

我想去掉小于和大于的标志以及它们之间的任何东西都可以。我知道我可以使用preg_replace,但我不确定该使用什么格式。

我想的是:

$code = "<textcolor='red'><h1>FAILED - NOT ENOUGH STEPS PERFORMED</h1></textcolor>";
echo strip_tags($code);

上面提到的代码将输出:

FAILED - NOT ENOUGH STEPS PERFORMED

没有任何样式,除非该样式是从父元素继承的。

strip_tags函数是删除HTML中所有标签的最简单、最有效的方法。preg_replace的目的是删除或更改更广泛的符号,例如更改以"a"或其他开头的任何符号,而strip_tags的目的是专门清除HTML输入,这是您最可能需要做的。

strip_tags()似乎是一条不错的路。preg_replace可能能够做到这一点,但要使其可靠则相当复杂。