Один из правильных способов сделать это, например, использовать XSLT
:
ВХОД HTML:
more table.html
<html>
<head>
<style>
table, td, th {
border: 1px solid black;
}
table {
border-collapse: collapse;
width: 100%;
}
th {
height: 50px;
}
</style>
</head>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>remove</th>
<th>remove</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>remove</td>
<td>remove</td>
<td>50</td>
</tr>
<tr>
<td>test1</td>
<td>test2</td>
<td>remove</td>
<td>remove</td>
<td>test5</td>
</tr>
</table>
</body>
</html>
XSLT:
more table_conv.xslt
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" />
<xsl:strip-space elements="*"/>
<!-- copy all elements as-is -->
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<!-- for the following elements 3rd and 4th column and title, don't do anything, they will be ignored -->
<xsl:template match="//td[3]|//td[4]|//th[3]|//th[4]"/>
</xsl:stylesheet>
CMD:
xsltproc --html -o table2.html table_conv.xslt table.html
ВЫХОД HTML:
more table2.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
table, td, th {
border: 1px solid black;
}
table {
border-collapse: collapse;
width: 100%;
}
th {
height: 50px;
}
</style>
</head>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>test1</td>
<td>test2</td>
<td>test5</td>
</tr>
</table>
</body>
</html>
Пояснения:
Смотрите комментарии!
ДО:
ПОСЛЕ: