这是代码,但explode()
方法不会在<tr>
出现时从字符串中拆分数据。让我知道在这个简单的案例中我做错了什么。如果不在这种情况下使用正则表达式会更好。
修改
它在Codepad codepad.org/K9ETKzUN中工作,但浏览器没有输出php渲染代码。
<?php
$tabledata = '<table width="90%" cellspacing="1" cellpadding="4" border="3" bgcolor="#f5f5f5">
<tbody>
<tr>
<th>No</th>
<th>AnimalNo</th>
<th>Name</th>
<th colspan="1">Sub1</th>
<th colspan="1">Sub2</th>
<th colspan="1">Sub3</th>
</tr>
<tr>
<th colspan="1"></th>
<th colspan="1"></th>
<th colspan="1"></th>
<th colspan="1">Subpart1</th>
<th colspan="1">Subpart2</th>
<th colspan="1">Subpart3</th>
</tr>
<tr>
<th colspan="1"></th>
<th colspan="1"></th>
<th colspan="1"></th>
<td class="countcompfield">Max mark1</td>
<td class="countcompfield">Max mark2</td>
<td class="countcompfield">Max mark3</td>
</tr>
<tr>
<td></td>
<td>A1</td>
<td>Name1</td>
<td>34</td>
<td>56</td>
<td>67</td>
</tr>
<tr>
<td></td>
<td>B2</td>
<td>Name2</td>
<td>89</td>
<td>76</td>
<td>56</td>
</tr>
<tr>
<td></td>
<td>C1</td>
<td>Name3</td>
<td>34</td>
<td>17</td>
<td>23</td>
</tr>
</tbody>
</table>';
$myarr = explode('<tr>',$tabledata);
echo "<pre>";
print_r($myarr);
答案 0 :(得分:1)
它的工作...... 运行脚本并查看源代码。
右键单击 - &gt;查看来源
答案 1 :(得分:1)
发布的代码有效。您遇到的问题是您在浏览器中将结果作为网页查看,这导致除最后一个元素之外的所有元素都保持隐藏状态。如果您在浏览器中查看&gt;来源,则会看到预期的正确结果。
HTML解析的更好选择是本机DOMDocument。
它在Codepad codepad.org/K9ETKzUN中工作,但在浏览器中运行它不会
因为Codepad没有复制浏览器,所以Codepad上的输出是文字文本。 HTML标记不会被解释为在网页上。
答案 2 :(得分:1)
你怎么断定它没爆炸?也许通过在浏览器中查看print_r的输出,你实际上是错了。无论你做了什么都正常工作。用var_dump($ myarr)替换print_r($ myarr),你就会明白我的意思。
浏览器最终只是将表格渲染在一起:)