1

桌子

<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's 和 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>被删除,我得到纯文本

4

1 回答 1

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>&</table>标签被删除(最重要的) preg_split 可以分隔数组中的行

$trr= preg_split('/<tr>/',  $str1); 
 echo count($trr); 
 print_r($trr); 
于 2013-01-21T17:53:57.490 回答