使用指定的属性删除html标记和内容

时间:2012-01-22 18:55:48

标签: php html parsing

我有很多标记的文字:

<span class="section">[<a href="blablabla">Section</a>]</span>

我需要删除所有 class =“section”的内容,包括其中的span标记和文本。我正在寻找一个正则表达式或替代方案来自动完成这项任务。

任何线索?

编辑:我可以帮助我解决这个问题,我认为正则表达式更简单。我用PHP编码。

感谢。

1 个答案:

答案 0 :(得分:2)

如果您的节类标签不包含相同类型的元素(例如,您没有包含跨度的跨度),则可以使用正则表达式轻松完成此操作。

以下是最简单的:

$stripped = preg_replace('@<span class="section">.*?</span>@', '', $input);

如果需要,可以使用任何标记,任何其他属性和任何其他类:

$stripped = preg_replace('@<(\w+)[^>]*class="[^"]*section[^"]*"[^>]*>.*?</\1>@', '', $input);