如何在PHP中删除标签内的标签?

时间:2014-07-29 03:30:44

标签: php html regex

我是正则表达式的新手,我试图从网站上获取内容,但有时网站上的内容会像这样。例1:

<strong> text </strong><strong><a href="" target="_blank"> text </a> text</strong>

有时看起来像这样,Ex2:

<strong> text <a target="_blank" href=""> text </a> text </strong>

现在我坚持这一点,如果内容看起来像Ex2,我可以获得所有内容。但如果内容看起来像Ex1,我只是得到第一个强标签的内容。我怎样才能获得像Ex 2这样的所有内容?

1 个答案:

答案 0 :(得分:0)

如果您仍想查看正则表达式,请使用其他人建议的Document Object Model,然后使用 Lazy 方式使用 Lazy 方式进行非常简单的正则表达式模式:

从索引1获取匹配的组。

<strong>(.*?)<\/strong>

这是demo

示例代码:

$re = "/<strong>(.*?)<\\/strong>/";
$str = "<strong> text </strong><strong><a href=\"\" target=\"_blank\"> text </a> text</strong>";

preg_match_all($re, $str, $matches);
  

我只是获得了第一个强标签的内容

您可以使用preg_match