用PHP替换所有HTML标记

时间:2014-01-11 13:24:31

标签: php html regex

我遇到一些正则表达式的问题。 我使用以下正则表达式来获取html标记之间的文本。

preg_replace("/<.*>/ix", " ", $input_lines);

此表达式适用于

<a href="some.html">Somelink

输出为
Somelink

但它不能与

一起使用
  <a href="some.html">Somelink</a> 

显示空白输出。

我的实际输入是这样的

<a href="some.html">Somelink</a><anytag>Somelink</anytag>

所需的输出是

Somelink Somelink

所有标记开始或结束标记是否被空格替换。

还有一个小问题:

3 个答案:

答案 0 :(得分:1)

在正则表达式中.*表示在上一个>

之前

所以它应该是.*?

更安全的是,它将是[^>]*

答案 1 :(得分:0)

如果我了解您的问题,您可以使用此方法strip_tags

this link  也许它会帮助你

答案 2 :(得分:0)

尝试strip_tags功能。

要替换,请尝试此

$result = preg_replace('/[ ]{2,}/imx', ' ', $subject);