表格
<table>
<tr>
<td>text <sub>1</sub></td>
<td>text 2</td>
<td>text <sup>3</sup></td>
</tr>
<tr>
<td>text <sub>11</sub></td>
<td>text 12</td>
<td>text <sup>13</sup></td>
</tr>
<tr>
<td>text <sub>1</sub></td>
<td>text 2</td>
<td>text <sup>3</sup></td>
</tr>
<tr>
<td>text 12</td>
<td>text 22</td>
<td>text 32</td>
</tr>
</table>
我想提取所有tr和td'并将所有td'存储在数据库表行中
我试过了 simple_html_dom.php
它工作正常,但删除/删除/删除像<sub>1</sub>
这样的标签
简而言之<sub>1</sub>
被1替换为
我不想丢失标签<sub>1</sub>
解决此问题的其他方法
在<tr> & </tr>
之间提取所有内容
在数组中,以便我可以将每一行存储在数组中
有这个我会(
$tr[0]="
<td>text <sub>1</sub></td>
<td>text 2</td>
<td>text <sup>3</sup></td>
";
$tr[1]="
<td>text <sub>11</sub></td>
<td>text 12</td>
<td>text <sup>13</sup></td>
";
$tr[2]="
<td>text 12</td>
<td>text 22</td>
<td>text 32</td>
";
然后提取所有值并将它们存储在数据库中
我想要解决方案来分隔数组中的行(如上所述) 要么 simple_html_dom.php中的更改以解决此问题
任何其他解决方案......
我甚至尝试过
$html = '<td class="header subject">T<sup>e</sup>x<sub>t</sub></td>';
//echo "<br>".$html;
$dom = new DOMDocument();
$dom->loadHTML( $html );
// Text
echo "<br>".$dom->getElementsByTagName("td")->item(0)->textContent;
但标签T<sup>e</sup>x<sub>t</sub>
已删除,我获得纯文本
答案 0 :(得分:0)
以下删除不需要的标记
$str1 = preg_replace('/width.*?>/', '> ', $str1);
$str1 = preg_replace('/<td style=.*?>/', '<td~> ', $str1);
$str1 = preg_replace('/<col >/', " ", $str1);
$str1 = preg_replace('/<div.*?>/', " ", $str1);
$str1 = preg_replace('/<\/div>/', " ", $str1);
$str1 = preg_replace('/<span.*?an>/', " ", $str1);
$str1 = preg_replace('/<tr >/', "<tr>", $str1);
$str1 = preg_replace('/<table.*?>/', "", $str1);
$str1 = preg_replace('/<\/table>/', "", $str1);
自<table>
&amp;已移除</table>
个标签(最重要)
preg_split可以分隔数组中的行
$trr= preg_split('/<tr>/', $str1);
echo count($trr);
print_r($trr);