Explode方法在php中不分解字符串

Explode方法在php中不分解字符串,php,html-table,explode,Php,Html Table,Explode,这是代码,但是explode()方法在出现时没有从字符串中拆分数据。让我知道在这个简单的案例中我做错了什么。在这种情况下,最好不要使用正则表达式 编辑 它在Codepad Codepad.org/K9ETKzUN中工作,但浏览器没有输出php呈现的代码 <?php $tabledata = '<table width="90%" cellspacing="1" cellpadding="4" border="3" bgcolor="#f5f5f5"> <tbody>

这是代码,但是
explode()
方法在
出现时没有从字符串中拆分数据。让我知道在这个简单的案例中我做错了什么。在这种情况下,最好不要使用正则表达式

编辑

它在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);
它的工作原理。。。
运行脚本并查看源代码


右键单击->查看源代码

发布的代码正常工作。您遇到的问题是,您在浏览器中将结果视为网页,这会导致除最后一个元素外的所有元素都保持隐藏状态。如果在浏览器中查看>源,您将看到预期的正确结果

一个更好的HTML解析选项是本机解析

它在Codepad Codepad.org/K9ETKzUN中工作,但在浏览器中运行它不会


这是因为代码板不复制浏览器,代码板上的输出是文本。HTML标记不会像在网页上一样被解释。

您如何得出它不会爆炸的结论?也许通过在浏览器中查看打印输出,您实际上弄错了。你所做的一切都正常工作。用var\u dump($myarr)替换print\r($myarr),你就会明白我的意思了


浏览器最终只是一起呈现表格:)

您得到的输出是什么?用于处理HTML。忘了explode或regex吧。我刚刚测试了这段代码,它可以正常工作。请注意,
explode()
将从结果中删除
。它按预期工作,请在外部源代码查看器中检查html源代码,不要使用inspect元素。它也在浏览器中工作,但未正确显示,这就是为什么我告诉你在外部源代码视图中检查源代码是的,你说得很对,我刚刚签入,它的thr..+1…非常感谢..它的thr:)+1I var转储,它的thr+1