爆炸方法是不爆炸php中的字符串

爆炸方法是不爆炸php中的字符串

问题描述:

这是代码,但explode()方法没有将字符串中的数据从<tr>发生分割。让我知道我在这种简单的情况下做错了什么。在这种情况下如果不使用正则表达式更好。爆炸方法是不爆炸php中的字符串

编辑

它是工作在键盘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); 
+2

你*的输出是什么? – L0j1k 2013-02-25 11:42:16

+0

使用http://www.php.net/manual/en/book.dom.php来操纵HTML。忘记爆炸或正则表达式。 – 2013-02-25 11:42:37

+1

我刚刚测试过这段代码,它工作。注意'explode()'会从结果中删除'

'。 – Naryl 2013-02-25 11:42:44

回答

它的工作... 运行该脚本并查看源代码。

右键单击 - >查看源代码

+0

......非常感谢..其他:) +1 – Trialcoder 2013-02-25 11:51:15

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

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

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

这是因为键盘不复制浏览器,在键盘输出文字文本。 HTML标签不会被解释为它们在网页上。

+0

是的,你是非常正确的,我刚刚检查和其thr .. + 1 – Trialcoder 2013-02-25 11:50:53

你如何断定它不会爆炸?也许通过在浏览器中查看print_r的输出,实际上你会发现错误。无论你做了什么工作都是正确的。将print_r($ myarr)替换为var_dump($ myarr),你会明白我的意思。

浏览器只是最终将表格渲染到一起:)

+0

我var倾倒和它的thr +1 – Trialcoder 2013-02-25 11:51:30

它的工作... 运行该脚本并查看源代码。

右键单击 - >查看源代码

+0

......非常感谢..其他:) +1 – Trialcoder 2013-02-25 11:51:15

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

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

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

这是因为键盘不复制浏览器,在键盘输出文字文本。 HTML标签不会被解释为它们在网页上。

+0

是的,你是非常正确的,我刚刚检查和其thr .. + 1 – Trialcoder 2013-02-25 11:50:53

你如何断定它不会爆炸?也许通过在浏览器中查看print_r的输出,实际上你会发现错误。无论你做了什么工作都是正确的。将print_r($ myarr)替换为var_dump($ myarr),你会明白我的意思。

浏览器只是最终将表格渲染到一起:)

+0

我var倾倒和它的thr +1 – Trialcoder 2013-02-25 11:51:30

它的工作... 运行该脚本并查看源代码。

右键单击 - >查看源代码

+0

......非常感谢..其他:) +1 – Trialcoder 2013-02-25 11:51:15

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

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

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

这是因为键盘不复制浏览器,在键盘输出文字文本。 HTML标签不会被解释为它们在网页上。

+0

是的,你是非常正确的,我刚刚检查和其thr .. + 1 – Trialcoder 2013-02-25 11:50:53

你如何断定它不会爆炸?也许通过在浏览器中查看print_r的输出,实际上你会发现错误。无论你做了什么工作都是正确的。将print_r($ myarr)替换为var_dump($ myarr),你会明白我的意思。

浏览器只是最终将表格渲染到一起:)

+0

我var倾倒和它的thr +1 – Trialcoder 2013-02-25 11:51:30