我们正在从一个内容系统迁移到另一个内容系统,并且有大量的HTML,其中有行,例如,像这样:
<p style="text-align: justify;"><i> </i></p>
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来剥离HTML与HTML,其中没有文本输出到屏幕.因此,与此类似的线将被剥离.
并且,这只是没有文本输出的许多行的例子之一.所以,我需要找到它们全部剥离.我不必担心图像,电影等,因为在旧的内容管理系统中只能使用文本.
顺便说一下,绝大多数行都是以p标签或div标签开头(忽略前导空格).
如果 HTML 也是格式良好的 XML 文档(这可以使用HTML-Tidy等工具在预传递中完成),则此转换:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="*[not(normalize-space(.))]"/>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
当应用于任何此类 XML 文档时——例如:
<html>
<body>
Welcome.
<p style="text-align: justify;"><i> </i></p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
产生所需的结果,其中字符串值为空或全是空格的任何元素都被删除:
<html>
<body>
Welcome.
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
350 次 |
| 最近记录: |