1
這是代碼,但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);
你*的輸出是什麼? – L0j1k 2013-02-25 11:42:16
使用http://www.php.net/manual/en/book.dom.php來操縱HTML。忘記爆炸或正則表達式。 – 2013-02-25 11:42:37
我剛剛測試過這段代碼,它工作。注意'explode()'會從結果中刪除'
回答
它的工作... 運行該腳本並查看源代碼。
右鍵單擊 - >查看源代碼
來源
2013-02-25 11:46:13 Ravi
......非常感謝..其他:) +1 – Trialcoder 2013-02-25 11:51:15
該代碼發佈作品。您遇到的問題是您在瀏覽器中將結果視爲網頁,導致除最後一個元素之外的所有元素都保持隱藏狀態。如果您在瀏覽器中查看>來源,您會看到預期的和正確的結果。
HTML解析的一個更好的選擇是本機DOMDocument。
這是因爲鍵盤不復制瀏覽器,在鍵盤輸出文字文本。 HTML標籤不會被解釋爲它們在網頁上。
來源
2013-02-25 11:46:20 MrCode
是的,你是非常正確的,我剛剛檢查和其thr .. + 1 – Trialcoder 2013-02-25 11:50:53
你如何斷定它不會爆炸?也許通過在瀏覽器中查看print_r的輸出,實際上你會發現錯誤。無論你做了什麼工作都是正確的。將print_r($ myarr)替換爲var_dump($ myarr),你會明白我的意思。
瀏覽器只是最終將表格渲染到一起:)
來源
2013-02-25 11:46:23 Ankit
我var傾倒和它的thr +1 – Trialcoder 2013-02-25 11:51:30
相關問題